for (const i in data) {
if (!data[i].children || data[i].children.length == 0) {
data[i].pid = ""
data[i].sort = i
}
}
以上代码如何转为.map的写法呢
for (const i in data) {
if (!data[i].children || data[i].children.length == 0) {
data[i].pid = ""
data[i].sort = i
}
}
以上代码如何转为.map的写法呢
const newList = data.map((item, index) => {
if (!item.children || item.children.length == 0) {
item.pid = ""
item.sort = index
}
})
const data = [1, {children: 1}];
const newList = data.map((item, index) => {
if (!item.children || item.children.length == 0) {
return {
...item,
pid: "",
sort: index
};
} else {
return item;
}
});
console.log(newList);
[[object Object] {
pid: "",
sort: 0
}, [object Object] {
children: 1
}]
应该用forEach而不是map:
data.forEach(({ children: c }, i) => c && c.length && Object.assign(c, { pid: '', sort: i }))
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决