>我有一个需要使用 Knockout 的对象数组.js:
array([
{ name: apple, ID: 100 },
{ name: orange, ID: 200},
{ name: banana, ID: 300 }
]);
数组是动态的,因为每行在一天中的任何时间都可以更改位置或索引(但行的内容保持不变(,例如:
array([
{ name: orange, ID: 200},
{ name: apple, ID: 100},
{ name: banana, ID: 300 }
]);
我想将">苹果"的显示名称更改为"桃子",无论该行在白天可能移动到何处。我尝试了以下代码,但这似乎不起作用:
ko.utils.arrayForEach(array.rowItems, function(item,index) {
if(item = array.rowItems.ID = 100))
return array.rowItems[item = (array.rowItems.ID = 100)].name = "peach"});
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/2.0.0/knockout-min.js"></script>
有人有什么建议吗? 我也尝试过使用indexOf和findIndex。
如果您
的目标只是在数组中循环项目,那么您可以使用以下解决方案。
var array = [
{ name: "apple", ID: 100 },
{ name: "orange", ID: 200},
{ name: "banana", ID: 300 }
]
ko.utils.array.forEach(array, function(item, index) {
if(item.ID === 100){
item.name = "peach";
}
});
不需要在 forEach 项回调中引用数组,因为您只更新循环中每个项的属性。