php 数组插入对象数组_数组对象

一根头发引发的故事

不知从何开始叙述,晚上看镜子的时候,发现了点什么有点反光,我扒拉了一下,发现一根似乎有点白的头发!!!想想今年才毕业的我,生活到底对我做了些什么???不自觉的反思了一下,没有丝毫防备下入了前端的门,似乎还是很懵逼!但是还是很有趣的,不过学习之路任重道远…
看见某大佬的一句话“动态规划的人生一定比贪心有趣”,所以,我还是好好打基础。唠叨了许多,开启正文吧

f70bca60c80a00754fb1c8cd91f8c5e6.png

数组对象

今天的话,主要讲两方面一个是数组扁平化一个是数组去重

  • 扁平化
    1.扁平化 目的:将一个多维数组变成一个一维数组比如说:[1, [2, 3, [4, 5]]] ,[‘a’,[‘b’,[‘c’]]], [‘a’,[‘b’,[‘c’,[…..]]]]//n维数组

let flatten = function(arr) {

let result = []

for(let i=0;i<arr.length;i++) {

if(Array.isArray(arr[i])) {

result = result.concat(flatten(arr[i])) //concat 并不会影响原数组

}else {

result.push(arr[i])

}

}

return result

}

console.log(flatten([1, [2, 3, [4, 5]]]))

console.log(flatten(['a',['b',['c']]]))

console.log(flatten( [["今", "天", "你", "真", "棒" ,"(๑•̀ㅂ•́)و✧"],[""],["早", "上", "好"]]))

  • 去重
    这里是用object键值进行去重,会创建一个新的object对象,会把数组值存成object的key值,在判断object[value1] = true的话,若obect[value2]存在的话,则就是重复的
    比如说:[1,2,2,3,4]

let unique = function(arr) {

let appread = new Set() //使用 new 关键字和 Set 构造函数可以创建一个空集合:

return arr.filter(item => {

let arrId = item + JSON.stringify(item)

if(appread.has(arrId)){

return false

}else {

appread.add(arrId)

return true

}

})

}

console.log(unique([1,2,2,3,4]))

960ee9a6ef1b3d2255b24e782c8f4251.png

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值