我有一个 JSON,其中包含 ID 和点。如果 ID 匹配,我需要增加 1。如果 ID 不匹配,我需要推送到一个新的空数组
这是我尝试过的。但它不起作用
var points = [{
id: 1,
point: 0
}, {
id: 2,
point: 0
}, {
id: 3,
point: 1
}]
var data = {
id: 1
}
if (!(points.length)) {
points.push(data)
} else {
if (points.find(e => e.id === data.id)) {
var m = points.find(e => e)
console.log(m.id)
m.point+= 1
} else {
points.push(data)
}
}
最佳答案
你总是在增加数组的第一个元素
var m = points.find(e => e)
=>
var m = points.find(e => e.id === data.id)
find
需要一个在给定元素的情况下返回 true 或 false 的谓词。在第一行,它总是返回元素本身,这是一个真值。所以第一个元素是return
关于javascript - JSON 对象数组的一个元素的增量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48568571/