var data = [];
data.push({
Id: 1,
name: "ONE"
});
data.push({
Id: 2,
name: "TWO"
});
data.push({
Id: 3,
name: "THREE"
});
data.filter(function(item) {
if (item.Id == 1) {
return item.name = display();
}
});
function display() {
return "Formatted Text";
}
我正在使用javascript array
filter
函数在对象的javascript array中查找值。我无法在此过滤器内使用display()
函数。编译器不断告诉
display()
函数是undefined
。 最佳答案
您可以使用Array#forEach
,因为Array#filter
返回一个包含已过滤项目的数组。
看起来,您想要分配一个带有条件的新值,因此不需要新数组。
function display() {
return "Formatted Text";
}
var data = [{ Id: 1, name: "ONE" }, { Id: 2, name: "TWO" }, { Id: 3, name: "THREE" }];
data.forEach(function(item) {
if (item.Id === 1) {
item.name = display();
}
});
console.log(data);
.as-console-wrapper { max-height: 100% !important; top: 0; }