JavaScript的数组常用方法整理
1.数组的拼接
- concat();链接两个或多个数组,并返回新的数组
- 扩展运算符(...);ES6引入的扩展运算符提供了新写法
- push();向数组尾部添加一个或多个元素,返回的是当前数组的长度
- unshift();向数组开头添加一个或多个元素,返回的是新数组的长度
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let arr3 = [7, 8, 9];
let arr4 = ['h', 'e', 'l', 'l', 'o'];
let arr5 = ['h', 'e', 'l', 'l', 'o'];
let arr = arr1.concat(arr2, arr3);
// [1, 2, 3, 4, 5, 6, 7, 8, 9]let myArr = [...arr1, ...arr2, ...arr3];
// [1, 2, 3, 4, 5, 6, 7, 8, 9]arr4.push(1, 2, 3);
console.log(arr4);
// ['h', 'e', 'l', 'l', 'o', 1, 2, 3]arr4.unshift(1, 2, 3);
console.log(arr5);
// [1, 2, 3, 'h', 'e', 'l', 'l', 'o']
/*
* 以上两种都是都是对数组的浅拷贝,两种方法生成的新
* 数组的成员都是对原数组成员的引用;如果改变原数组成员,就
* 会反应到新数组。
*/
2.数组转字符串
- join();把数组的所有元素放入一个字符串。元素通过指定的分隔符(默认是逗号)进行分隔。
- toString();返回值与没有参数的 join() 方法返回的字符串相同,即数组元素与元素之间由逗号分隔。
let arr = [hello, nihao];
let str1 = arr.join();
// hello,nihao
let str2 = arr.join('');
// hellonihao
let str3 = arr.join('-');
// hello-nihao
let str4 = arr.toString();
// hello,nihao
3.数组的截取
- slice(s, e);返回一个包含从s到e(不包含该元素)的新数组,不改变原数组
- splice(index, num, item1,.....,itemX);改方法可以删除从index开始的num个元素(如果num为0,则不会删除项目),同时item用来替换被删除的元素;返回的是被删除的元素的数组;同时会
改变原数组
let arr1 = [1, 2, 3, 4, 5];
arr1.slice(2,4);
// [3,4]
arr1.splice(1, 3);
// [2, 3, 4]arr1= [1, 5];
4.数组元素的查找
- indexOf(); 要查找的元素不在当前数组的话返回-1;
- includes(); 返回布尔值
- find()和findIndex;所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined
【JavaScript的数组常用方法整理】indexOf()使用严格相等运算符,会导致NaN的误判
[1, 2, 3].indexOf(2);
// `
[1, 2, 3, 4, NaN].indexOf(NaN);
// -1
[1, 2, 3, NaN].includes(NaN);
//true[1, 5, 10, 15].find(function(v) {
return v == 9;
}) // undefined
4.其他方法
- filter();对数组进行过滤,返回符合条件的元素组成的新数组,原数组不会改变
- reduce(); 对数组元素进行累加,不会对空数组执行回调
- every(); 对数组元素进行判断,所有的数组元素都符合条件返回true,否则返回false
- some();对数组元素进行判断,只要有一个元素符合条件就返回true, 否则返回false
- forEach()与map(),都是用来遍历数组中的每一项,区别是map的的回调函数中可以return返回值
[1, 2, 3].filter(v => {
retrun v >=2;
});
// [2, 3]
[1, 2, 3].map(v => {
return v*2;
});
// [2, 4, 6]
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量