比较jquery中的数组并返回不相同的值
compare arrays in jquery and return the values that are no the same
我想比较jquery中的两个数组,并返回一个包含所有不匹配元素的新数组。如果我创建这样一个函数:
function (parent, child) {}
我应该比较child
和parent
,并返回子元素中所有不匹配父元素的新数组。例如
parent = ['apple', 'banana'];
child = ['fruit'];
比较子和父,得到数组:['fruit']
作为fruit
不在父。我寻找方法做到这一点,看到了这个解决方案,但我不确定这是否是我想要的。
您可能需要查看Underscore.js (http://underscorejs.org/#difference),它有一个专门用于此的函数。它返回其他数组中不存在的数组值。
_.difference([1, 2, 3, 4, 5], [5, 2, 10]);
=> [1, 3, 4]
为了证明使用另一个库的合理性:您可能会在那里找到大量其他有用的实用程序;)
要小心,使用关键字'parent'可能会产生意想不到的副作用。在我使用的Chrome版本中,它似乎指的是windows。
香草JavaScript解决方案,快速和简单:
var findDifference = function (elder, sibling) {
var difference = [];
for(var i = 0; i < sibling.length; i++){
if(elder.indexOf(sibling[i]) < 0){
difference.push(sibling[i]);
}
}
return difference;
};
var elder = ['apple', 'banana'];
var sibling = ['fruit'];
findDifference(elder, sibling); // => ['fruit']
相关文章:
- 将Javascript函数链接到返回jQuery对象的jQuery函数
- 如何返回jQuery对象中的文本节点
- 何时返回jQuery函数,而不是仅仅调用它
- 为什么jQuery add()方法似乎没有返回jQuery对象
- 返回 jquery-ui 滑块上标记句柄的索引
- 自动返回 jQuery 对象
- 异步 TypeScript 函数返回 jQuery promise
- Asp.Net 控件值返回 Jquery 中未定义
- 如何返回 JQuery 承诺
- 如何在ajax加载后返回jquery
- 返回Jquery ajax数据,但未调用success函数
- 返回jquery ajax调用的成功或失败标准
- 是否将回调附加到任意函数?返回:jQuery
- 读取json数据返回jQuery时出现问题
- 返回jquery中单击的li的值
- 添加多个返回jquery
- 使用模数自定义分页返回jquery循环
- 使用索引从jQuery数组返回jQuery对象(而不是DOM)
- 从AJAX返回Jquery UI滑块
- 无法返回jQuery's $.each的结果数组