2017-10-16 57 views
0

是否有任何工具用於添加數組中每個對象的索引作爲淘汰賽js中的屬性? 我這樣做是分兩步進行的,我想在推送到數組的同時爲每個對象添加索引屬性。這是我的代碼。如何使用knockout(ko.utils)映射將新屬性(索引)添加到數組中的每個對象?

ko.utils.arrayPushAll(array, 
     ko.mapping.fromJS(result)()); 

for (var i = 0; i < array.length; i++) { 
    array[i].index = i; 
} 
+0

是否有任何理由將索引放入數組元素中? – jgasiorowski

+0

不知道爲什麼你會希望索引作爲一個屬性。如果您修改陣列,是否需要更新? –

回答

1

在不回答你的問題的風險:

如果通過在foreach數組循環:結合,你將有一個觀察的$指標可供您在陣列中引用的索引。

如果你做了數組的observableArray,您可以附加一個computedObservable你的模型等,從而進行soemthing:

myArray()[i].index = ko.pureComputed(()=>myArray().indexOf(myArray()[i])) 

我認爲指數將是一個觀察的時候數組改變,將通知用戶(因此需要重新計算索引)。

相關問題