-
Array.unshift(元素)
开头增加元素
let arr = [1, 2, 3]
let newarr = arr.unshift(8, 9)
console.log(arr); // [8, 9, 1, 2, 3]
console.log(newarr); // 5 (数组长度)
-
Array.push(元素)
结尾增加元素
let arr = [1, 2, 3]
let newarr = arr.push(8, 9)
console.log(arr); // [1, 2, 3, 8, 9]
console.log(newarr); // 5 (数组长度)
-
Array.shift()
删除开头第一个元素
let arr = [4, 1, 2, 3]
let newarr = arr.shift()
console.log(arr); // [1, 2, 3]
console.log(newarr); // 4 (被删元素)
-
Array.pop()
删除结尾最后一个元素
let arr = [4, 1, 2, 3]
let newarr = arr.pop()
console.log(arr); // [4, 1, 2]
console.log(newarr); // 3 (被删元素)
-
Array.splice(startIndex,many,元素)
可增可删
Array.splice( 开始删除的下标,删几个,要添加的元素1,要添加的元素2... )
-
Array.reverse()
倒序
let arr = [1, 2, 3, 4]
let newarr = arr.reverse()
console.log(arr); // [4, 3, 2, 1]
console.log(newarr); // [4, 3, 2, 1]
-
Array.sort(方法)
排序 这个复杂一点
该方法默认升序。原理涉及编码,这里不详细讲。
原理的大概意思就是 :先比较每个元素中的第一个字符大小,完了再比较第二个...一直到最后一个。
let arr = [1, 2, 3, 11, 22, 200]
let newarr = arr.sort()
console.log(arr); // [1, 11, 2, 200, 22, 3]
console.log(newarr); // [1, 11, 2, 200, 22, 3]
但是,我们可以传入自定义排序方法
按照这样的逻辑,要怎么让数组按数值的大小排序呢?
可以每次传入两个元素(这里要注意:传入的第二个参数才是前一位元素,第一个参数反而是后一位元素),通过return这两个元素值的差,来控制return后面跟的数值是否小于0。如果小于0的话这两个元素就要调换顺序。