JS数组方法(ES5、ES6)大全 | 您所在的位置:网站首页 › javascript数组有哪些方法 › JS数组方法(ES5、ES6)大全 |
JS数组方法(ES5、ES6)大全
1. arr.push() 从后面添加元素,添加一个或多个,返回值为添加完后的数组长度
1 let arr = [1,2,3,4,5]
2 console.log(arr.push(6,7)) // 7
3 console.log(arr) // [1,2,3,4,5,6,7]
2. arr.pop() 从后面删除元素,只能是一个,返回值是删除的元素
1 let arr = [1,2,3,4,5]
2 console.log(arr.pop()) // 5
3 console.log(arr) // [1,2,3,4]
3. arr.shift() 从前面删除元素,只能是一个,返回值是删除的元素
1 let arr = [1,2,3,4,5]
2 console.log(arr.shift()) // 1
3 console.log(arr) // [2,3,4,5]
4. arr.unshift() 从前面添加元素,添加一个或多个,返回值是添加完后的数组的长度
1 let arr = [1,2,3,4,5]
2 console.log(arr.unshift(6,7)) // 7
3 console.log(arr) // [6,7,1,2,3,4,5]
5. arr.splice(index,num) 删除从index(索引值)开始之后的那num个元素,返回值是删除的元素数组
参数:index 索引值,num 个数 1 let arr = [1,2,3,4,5] 2 console.log(arr.splice(2,3)) // [3,4] 3 console.log(arr) // [1,2,5] 6. str.split() 将字符串转化为数组 1 let str = "12345" 2 console.log(str.split("")) // ["1","2","3","4","5"]拓展: split 也可以分割字符串,常用的就是对字符串出现重复次数的统计 vra str = 'abcdaaeeff' console.log(str.split('a') // ,bcd,,eeff参数: target – 待填充的元素 start – 开始填充的位置 - 索引 end – 终止填充的位置 - 索引(不包括该位置) let arr = [1,2,3,4,5] let arr2 = arr.fill(5) console.log(arr2) // [5, 5, 5, 5, 5] console.log(arr) // [5, 5, 5, 5, 5] let arr3 = arr.fill(5,2) console.log(arr3) // [1,2,5,5,5] let arr4 = arr.fill(5,1,3) console.log(arr4) // [1,5,5,4,5] 24. arr.keys() [ES6]遍历数组的键名 1 let arr = [1,2,3,4,5] 2 let arr2 = arr.keys() 3 for (let key of arr2) { 4 console.log(key) // 0,1,2,3,4 5 } 25. arr.values() [ES6]遍历数组键值 let arr = [1,2,3,4,5] let arr1 = arr.values() for (let val of arr1) { console.log(val); // 1,2,3,4,5 } 26. arr.entries() [ES6]遍历数组的键名和键值 1 let arr = [1,2,3,4,5] 2 let arr2 = arr.entries() 3 for (let e of arr2) { 4 console.log(e); // [0,1] [1,2] [2,3] [3,4] [4,5] 5 }entries() 方法返回迭代数组。 迭代数组中每个值 前一个是索引值作为 key, 数组后一个值作为 value。 27. arr.copyWithin() [ES6]在当前数组内部,将制定位置的数组复制到其他位置,会覆盖原数组项,返回当前数组参数: target --必选 索引从该位置开始替换数组项 start --可选 索引从该位置开始读取数组项,默认为0.如果为负值,则从右往左读。 end --可选 索引到该位置停止读取的数组项,默认是Array.length,如果是负值,表示倒数 1 let arr = [1,2,3,4,5,6,7] 2 3 let arr2 = arr.copyWithin(1) 4 console.log(arr2) // [1, 1, 2, 3, 4, 5, 6] 5 6 let arr3 = arr.copyWithin(1,2) 7 console.log(arr3) // [1, 3, 4, 5, 6, 7, 7] 8 9 let arr4 = arr.copyWithin(1,2,4) 10 console.log(arr4) // [1, 3, 4, 4, 5, 6, 7] 28. Array.isArray(value) 判断一个值是否为数组的方法,若为数组,返回true,反之返回false 1 let a = 1234 2 let b = "fsaufh" 3 let c = {a:1,b:2} 4 let d = [1,2] 5 6 let mark1 = Array.isArray(a) 7 console.log(mark1) // false 8 9 let mark2 = Array.isArray(b) 10 console.log(mark2) // false 11 12 let mark3 = Array.isArray(c) 13 console.log(mark3) // false 14 15 let mark4 = Array.isArray(d) 16 console.log(mark4) // true 29. arr.join(separate) 把数组中的所有元素放入一个字符串,separate表示分隔符,可省略,默认是逗号 1 let arr = [1,2,3,4,5] 2 console.log(arr.join()) // 1,2,3,4,5 3 console.log(arr.join("-")) // 1-2-3-4-5 30. arr.flat(pliy) [ES6]对数组内嵌套的数组“拉平”,就是把数组中的数组的元素挨个拿出来,放数组元素所在位置,返回一个新的数组,不会影响到原来的数组参数:pliy表示拉平的层数,默认是1层,想无限拉平可以传入Infinity关键字 1 let arr = [1, 2, [3, [4, 5]]] 2 console.log(arr.flat(2)) // [1, 2, 3, 4, 5] 3 4 let arr2 = [1,[2,[3,[4,5]]]] 5 console.log(arr2.flat(Infinity)) // [1,2,3,4,5] 31. arr.flatMap() [ES6]对原数组的每个成员执行一个函数,相当于执行Array.prototype.map(),然后对返回值组成的数组执行flat()方法。该方法返回一个新数组,不改变原数组。只能展开一层数组。 1 // 相当于 [[2, 4], [3, 6], [4, 8]].flat() 2 [2, 3, 4].flatMap((x) => [x, x * 2]) 3 // [2, 4, 3, 6, 4, 8] 32. arr.toString() 将数组转换为字符串并返回。数组中的元素之间用逗号分隔。 1 let arr = ["Banana", "Orange", "Apple", "Mango"] 2 console.log(arr.toString()) // Banana,Orange,Apple,Mango |
CopyRight 2018-2019 实验室设备网 版权所有 |