JavaScript的数组常用方法整理

2018-08-18  本文已影响0人  yunshengz

1.数组的拼接

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.数组转字符串

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.数组的截取

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()使用严格相等运算符,会导致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.其他方法

[1, 2, 3].filter(v => {
  retrun v >=2;
});  // [2, 3]
[1, 2, 3].map(v => {
  return v*2;
}); // [2, 4, 6]
上一篇下一篇

猜你喜欢

热点阅读