javascript - 查找从一个集合到另一个集合的重复对象 - 在knockout JS中使用2个数组

标签 javascript jquery arrays knockout.js

在knockout JS中,我想从我的集合中找出第一个重复对象并将该对象作为模态返回。我必须根据我的条件检查第一个数组和第二个数组中的第一个重复对象。尝试过 _findWhere & _.Some & _.each 没有任何效果。有人可以帮忙

这里——MyMainModal 是我的 Moda,它将有多个对象

      self.dupRecord= function (MyMainModal) {
        var Modaldata= ko.mapping.toJS(MyMainModal);
            return _.some(Modaldata, function (MD1) {
                return _.some(Modaldata, function (MD2) {
                    if ((MD1.ID!== MD2.Id) &&
                        (MD1.Name === MD2.name));                    
                });
            });
        };

最佳答案

如何将第一个重复项的检查合并到映射中?类似于:

function Child(data) {
  ko.mapping.fromJS(data, {}, this);
};
var model = {
  children: [{
    id: '1',
    name: 'Billy'
  }, {
    id: '2',
    name: 'Susy'
  }]
};
var mapping = {
  children: {
    key: function(data) {
      return ko.utils.unwrapObservable(data.id);
    },
    create: function(options) {
      console.log('creating ' + options.data.name, options.parent);
      var newChild = new Child(options.data);
      if(options.parent.firstDuplicate() === undefined)
        options.parent.children().forEach(function(child) {
          if(child.name() === newChild.name())
            options.parent.firstDuplicate([child, newChild]);
        });
      return newChild;
    },
    update: function(options) {
      console.log(' updating ' + options.data.name);
      return options.target;
    }
  }
};

var vm = {
  children: ko.observableArray(),
  firstDuplicate: ko.observable()
};
ko.mapping.fromJS(model, mapping, vm);
ko.applyBindings(vm);

model.children.push({
  id: 3,
  name: 'Billy'
});
setTimeout(function() {
  console.log('--remapping--');
  ko.mapping.fromJS(model, mapping, vm);
}, 2000);

我将其理解为“如果我们不更新记录,则可能会设置第一个重复项。”这是一个 fiddle :http://jsfiddle.net/ge1abt6a/

关于javascript - 查找从一个集合到另一个集合的重复对象 - 在knockout JS中使用2个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38232182/

相关文章:

javascript - Lodash 不是 TreeShaking with Webpack 和 Webpack 4?

javascript - 当我使用 markdown 时,我的第一个元素的格式与其他元素不同

javascript - 当 stop() 取消动画时,如何防止类保持事件状态?

objective-c - Swift 中的CharacterAtIndex

java - 使用 Java 访问 JSONArray 中的项目成员

javascript - 为什么这个带有 boolean 变量的函数不起作用?

javascript简单的随机游戏

javascript - 使用 Webpack 时如何在 Service Worker 中导入脚本

javascript - 在返回 AJAX 响应之前阻止 Web 浏览器关闭

python - 为 numpy.array 的每个元素添加一个维度