我有一个名为:
的数组const data = []
我做了一个函数,在其中我对数组进行了循环处理以检查名称是否已经存在。
let index = data.findIndex(x => x.name == csh.val().color);
console.log(index); <-- gives me the right index back
console.log(data);
console.log(data[index].population); <-- this gives me the right value back
if (index === -1) {
data.push({
name: csh.val().color,
population: csh.val().color ? 1 : 1,
color: csh.val().color.toLowerCase(),
legendFontColor: '#7F7F7F',
legendFontSize: 15
});
}else {
if(data && data[index]) {
data[index].push({
name: csh.val().color,
population: data[index].population + 1,
color: csh.val().color.toLowerCase(),
legendFontColor: '#7F7F7F',
legendFontSize: 15
})
}
}
但是我在else语句中得到了一个错误:undefined不是这一行的函数:
data[index].push({
更新:
这是数组的样子:
const data = [
{ name: "brown", population: 5, color: 'brown', legendFontColor: '#7F7F7F', legendFontSize: 15 },
{ name: "red", population: 5, color: 'brown', legendFontColor: '#7F7F7F', legendFontSize: 15 },
]
答案 0 :(得分:1)
let index = data.findIndex(x => x.name == csh.val().color);
console.log(index); <-- gives me the right index back
console.log(data);
console.log(data[index].population); <-- this gives me the right value back
if (index === -1) {
data.push({
name: csh.val().color,
population: csh.val().color ? 1 : 1,
color: csh.val().color.toLowerCase(),
legendFontColor: '#7F7F7F',
legendFontSize: 15
});
}else {
data[index] = {
name: csh.val().color,
population: data[index].population + 1,
color: csh.val().color.toLowerCase(),
legendFontColor: '#7F7F7F',
legendFontSize: 15
}
}