美文网首页
JavaScript的数组常用方法整理

JavaScript的数组常用方法整理

作者: yunshengz | 来源:发表于2018-08-18 11:21 被阅读0次

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

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]

相关文章

网友评论

      本文标题:JavaScript的数组常用方法整理

      本文链接:https://www.haomeiwen.com/subject/dkjtiftx.html