码迷,mamicode.com
首页 > 编程语言 > 详细

js数组操作方法

时间:2020-03-26 13:53:44      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:def   contain   set   eof   方法   item   去重   cto   call   

js数组

去重

let arr = [1,2,3,2,33,55,66,3,55]
//第一种
let newArr = []
arr.forEach(item=>{
   if(newArr.indexOf(item) == ‘-1‘){
       newArr.push(item)
  }
})
console.log(newArr)   //[1, 2, 3, 33, 55, 66]
?
//第二种
let newArr = [...new Set(arr)]
console.log(newArr)   //[1, 2, 3, 33, 55, 66]

合并

let arr1 = [‘a‘,‘b‘],arr2=[‘c‘,‘d‘]
// 方法一
let arr3 = arr1.concat(arr4);
console.log(arr3) // [‘a‘, ‘b‘, ‘c‘, ‘d‘]
// 方法二
arr1.push.apply(arr1, arr2)
console.log(arr1) // [‘a‘, ‘b‘, ‘c‘, ‘d‘]
// 方法三
let arr3 = [...arr1, ...arr1];
console.log(arr3);// [‘a‘, ‘b‘, ‘c‘, ‘d‘]

展平

let arr = [1, 2, [3, 4], [5, 6, [7, 8, 9]]];
//第一种
let arrNew = arr.flat(Infinity);  // 该方法为 ES2019 (ES10) 方法。
console.log(arrNew);// (9) [1, 2, 3, 4, 5, 6, 7, 8, 9]
//第二种
let arrNew = arr.join().split(‘,‘).map(Number);
console.log(arrNew);
//第三种
let arrNew = arr.toString().split(‘,‘).map(Number);
console.log(arrNew);// (9) [1, 2, 3, 4, 5, 6, 7, 8, 9]

检测是否为数组

let arr = []
//第一种 instanceof
console.log(arr instanceof Array)
//第二种
console.log(arr.constructor === Array)
//第三种 判断对象是否有 push 等数组的一些方法
console.log(!!arr.push && !!arr.concat)
//第四种
console.log(Object.prototype.toString.call(arr))
//第五种 Array.isArray() 如果是数组返回 true 不是数字 false  
console.log(Array.isArray(arr))
//推荐使用第五种

 

js数组操作方法

标签:def   contain   set   eof   方法   item   去重   cto   call   

原文地址:https://www.cnblogs.com/zhao-html/p/12573858.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!