关于js取值的问题(新手提问)
刚刚学习js,我获取的数据如下
let json
json = {
"result": true,
"data": {
"id": "1a2b3c4d5e6f7g8h9i",
"dividedRetList": [
{
"memberList": [
{
"captainId": "259b55"
},
{
"captainId": "259b55"
},
{
"captainId": "259b55"
},
{
"captainId": "259b55"
},
{
"captainId": "259b55"
}
],
"aaa": true,
"bbb": true
},
{
"memberList": [
{
"captainId": "a86e41"
},
{
"captainId": "a86e41"
},
{
"captainId": "a86e41"
},
{
"captainId": "a86e41"
},
{
"captainId": "a86e41"
}
],
"aaa": true,
"bbb": true
}
],
"aa": true
},
"a": 0,
"b": "b"
};
现在需要取captainId的值,我用的let of 代码如下:(ps:各位大佬有没有更好的方法,欢迎指点。)
for (let dividedRetList of json.data.dividedRetList) {
//console.log(dividedRetList);
for(let memberList of dividedRetList.memberList){
//console.log(memberList);
let arr=memberList.captainId
console.log(arr)
// 259b55
// 259b55
// 259b55
// 259b55
// 259b55
// a86e41
// a86e41
// a86e41
// a86e41
// a86e41
}
}
打印出来是一排数组,我需要把这组数组去重,应该怎么做?
最后结果需要变成这样:[259b55,a86e41]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
[...new Set(json.data.dividedRetList.map(v => v.memberList.map(o => o.captainId)).flat())]
PS:
for...of
也可以,但是如果用原生方法就用,少写很多代码,另外就是变量命名上要对应,List通常就是数组,Item表示元素,不要命名List确实际是数组元素,给人造成误解