我把字符串放到数组里面最后进行去重操作,得出的结果不对?

我得到的areas是字符串,然后我把他们放到数组里面,最后进行去重操作,得出的结果不对,请问怎么修改代码可去进行去重得到[4662,4663]

areas += choiceID[0].areas[i].id + ',';
console.log('areas is:', areas) // areas is: 4662,4663,4662,4663,
var arrAreas = []
arrAreas.push(areas)
console.log(arrAreas) // ["4662,4663,4662,4663,"]
var newAreas = [...new Set(arrAreas)]
console.log(newAreas) // ["4662,4663,4662,4663,"]
阅读 1.5k
3 个回答
你的数组没取对呢
是 ["4662", "4663", "4662", "4663"]  而不是 ["4662,4663,4662,4663"]
var areas = '4662,4663,4662,4663'
var arrAreas = areas.split(',')
console.log(arrAreas)
var newAreas = [...new Set(arrAreas)]
console.log(newAreas)

arrAreas.push(areas)
改成
[].push.apply(arrAreas,areas)
试试

你数组里面是整个字符串?那怎么去重。
分开就好了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题