0
点赞
收藏
分享

微信扫一扫

【前端学习 - JS(12)数组】

小云晓云 2022-01-16 阅读 84

 数组

1-1数组去重

1. es6的new Set

let arr=[1,2,2,3]
let arrNew=[...new Set(arr)]
console.log(arrNew)//[1,2,3]

2. 遍历旧数组往新数组中添加唯一的元素

function unique(arr) {
   var newArr = []
   for (var i = 0; i < arr.length; i++) {
      f (newArr.indexOf(arr[i])===-1) {//方式1
          newArr.push(arr[i])
       }
       // if (!newArr.includes(arr[i])) {//方式2
         // newArr.push(arr[i])
       //}
    }
    return newArr
    }
   console.log(unique(arr))//[1,2,3]

3. 利用Map数据结构去重

function unique(){
  let map =new Map()
  let arr=new Array()
  for(let i=0;i<arr.length;i++){
   if(map.has(arr[i])){//如果有key值,它是把元素值作为key
      map.set(arr[i],true)
   }else{
     map.set(arr[i],false)//如果没有该key值
     array.push(arr[i])
   }
 }
 return array
}
console.log(unique([1,2,2,3]))

解析:

把每一个元素作为key值存到Map中,由于Map不会出现相同的key,所以最终得到去重后的结果。

1-2数组展开

1. flat方法

  let arr = [1,2,[3,4],[5[6,7]]]
  let arr1 = arr.flat(Infinity)//[1,2,3,4,5,6,7]

2.join,split

let arr = [1,2,[3,4],[5[6,7]]]
let arr1 = arr.join().split(",")  //["1", "2", "3", "4", ""]

3.toString,split

let arr = [1,2,[3,4],[5[6,7]]]
let arr1 = arr.toString().split(",")   //["1", "2", "3", "4", ""]

1-3数组合并

1. es6展开合并

  let arr1 = [1,2]
  let arr2 = [3,4]
  let arr = [...arr1,...arr2]//[1,2,3,4]

2. concat

  let arr = arr1.concat(arr2)

1-4判断数组

instanceof

   console.log(arr instanceof Array)

constructor

   console.log(arr.constructor === Array)

Array.isArray

   console.log(Array.isArray(arr))

toString

   console.log(Object.prototype.toString.call(arr) === "[object Array]")

判断是否有数组的push等方法

   console.log(!!arr.push && !!arr.concat)
举报

相关推荐

0 条评论