0

假设我有以下 2 个可观察数组

var data1 = [{
name1: "one",
id: 1,
IsSelected: false
  }, 
{
name1: "two",
id: 2,
IsSelected: false
 }, 
{
name1: "three",
id: 3,
IsSelected: false
}];

var data2 = [{
 name2: "five"
 }, 
 {
 name2: "two"
 }, 
 {
 name2: "three"
}];

从 2 个数组中,您可以看到 2 行匹配“二”和“三”。那些匹配的行绑定到复选框并标记为选中。

现在我想要的是如果行匹配,那么如果行匹配,它应该将 IsSelected 属性设置为 true。

我知道展平阵列会使结构与 2 个阵列相同。但我想要的是比较 2 个数组,如果数据匹配,则将 IsSelected 属性标记为 true。

如果有的话,这是为了减少你的困惑。

我真的没有想法来实现这一目标。在小提琴中,您可以看到选中了 2 个框,但旁边显示为 false。它应该显示为 true。

4

1 回答 1

1

可能会有所帮助

self.isDuplicated = function (item) {
    var data2 = viewModel.dataTwo();
    for (var index = 0; index < data2.length; index++) {
        if (data2[index].name == item.name) return true;
    }
    return false;
};
于 2013-04-05T12:13:46.457 回答