JS数组

本文并没有什么干货,由于数组的一些api开发中比较容易忘记,这里记录一下,方便本人查阅。

JavaScript 的 Array 对象是用于构造数组的全局对象,数组是类似于列表的高阶对象。

Array是JavaScript的标准内置对象。既然是对象,那么就可以从这个对象的属性以及方法来认识Array

一、属性

1、length  (数组长度)

let numbers = [1,2]
console.log (numbers.length)  
//2

二、方法

1、unshift()、push()  (增加元素)

unshift() 数组头部增加

push()数组尾部增加

let numbers = [1,2]
numbers.push(3)
console.log(numbers)
// [1,2,3]

numbers.unshit(0)
console.log(numbers)
// [0,1,2,3]

2、shift()、pop()  (删除元素)

shift() 数组头部删除

pop() 数组尾部删除

let numbers = [1,2,3]
numbers.pop()
console.log(numbers)
// [1,2]

numbers.shit()
console.log(numbers)
// [2]

3、splice()  (增加/删除/替换)

 splice() 通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容(即方法执行后返回被移除的内容)

array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
start 开始移除位置的下标
deleteCount 整数,表示要移除的数组元素的个数(可选)
item1,item2..... 要添加进数组的元素,从start 位置开始。如果不指定,则 splice() 将只删除数组元素。

let numbers = [1,2,3]
numbers.splice(1,2,2,3,4)
console.log(numbers)
// [1,2,3,4]

numbers.splice(2,1)
console.log(numbers)
// [1,2,4]

 4、sort()、reverse()  (排序、倒排)

array.sort([compareFunction])
compareFunction 用来指定按某种顺序进行排列的函数。如果省略,元素按照转换为的字符串的各个字符的 Unicode 位点进行排序。
如果 compareFunction(a, b) 小于 0 ,那么 a 会被排列到 b 之前;    //升序
如果 compareFunction(a, b) 等于 0 , a 和 b 的相对位置不变     
如果 compareFunction(a, b) 大于 0 , b 会被排列到 a 之前    //降序

let numbers = [3,1,6,4,5,9]
numbers.sort((a,b)=>a-b)
console.log(numbers)
// [1, 3, 4, 5, 6, 9]

let numbers2 = [3,1,6,4,5,9]
numbers2.sort((a,b)=>b-a)
console.log(numbers2)
// [9, 6, 5, 4, 3, 1]

arr.reverse()
reverse() 方法将数组中元素的位置颠倒,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。该方法会改变原数组。
let numbers = [9,8,7,6,5,4,3,2,1]
console.log(numbers.reverse())
//[1, 2, 3, 4, 5, 6, 7, 8, 9]

以上为常用并且会改变原数组的方法。

 

 

 

 

 

5、join()、toString()  (数组转字符串)

arr.join(str) 方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符
str (可选)字符串
let numbers = [1,2,3,4,5]
console.log(numbers.join("-"))
// "1-2-3-4-5"

arr.toString() 返回一个字符串,表示指定的数组及其元素,没有参数。返回用英文逗号隔开的数组元素组成的字符串。
let numbers =  [1,2,3,4,5]
console.log(numbers.toString())
// "1,2,3,4,5"

以上为数组常用转字符串的方法。

 

 

 

 

 

6、forEach()

arr.forEach((current,index,array)=>{
    // 逻辑
})
current(必须),数组当前元素的值
index(可选),当前元素的索引值
arr(可选),数组对象本身

注意:return 只能退出当次循环,使用break、continue会直接报错,退出整个循环需要try...catch抛出异常。

let numbers = [1,2,3,4,5,6]
numbers.forEach((current,index,array)=>{
    console.log(current)
})
//1
//2
//3
//4
//5
//6

let numbers = [1,2,3,4,5,6]
numbers.forEach((current,index,array)=>{

    if(current===2) {
        return
    }
    console.log(current)
    
})
//1
//3
//4
//5
//6

let numbers = [1,2,3,4,5,6]
try {
	numbers.forEach((current,index,array) => {
		if (current === 2) {
			throw('整个循环终止')
		}
		console.log(current)
	})
} catch(e) {
	//
}
// 1

7、map()

......待续

 

posted @ 2022-06-02 11:43  maoweizhao  阅读(122)  评论(0)    收藏  举报