将值从一个数组更新到另一个数组

时间:2014-11-19 18:09:51

标签: knockout.js

我有两个阵列(请记住我对Knockout很新):

"Instructions": {
    "Instruction": [{
        "Text": "Text 1",
        "Type": "REFERENCE",
        "SequenceNo": "1",
        },
        {
        "Text": "Text 2",
        "Type": "REFERENCE",
        "SequenceNo": "2",
    }]
}


"References": [{
    "Text": "New Text 1",
    "Type": "REFERENCE",
    "SequenceNo": "1"
    },
    {
    "Text": "New Text 2",
    "Type": "REFERENCE",
    "SequenceNo": "2"
}]

我想根据参考文献中的序列号(sequenceno)更新指令中的文本值。

因此,对于说明中的SequenceNo 1,文本应为"新文本1"。

我如何在淘汰赛中这样做?

1 个答案:

答案 0 :(得分:0)

在viewmodel中,您有两个observableArrays并假设数据已填充

var vm = {
    var self = this;

    self.Instructions = ko.observableArray();
    self.References= ko.observableArray();

    //to update the values from References to Instruction 
    ko.utils.arrayForEach(self.References, function(data){
        ko.utils.arrayForeach(self.Instructions, function(item){
            if( data.SequenceNo == item.SequenceNo ){
                item.Text = data.Text;
            }
        }
    }
}