Javascript 比较两个大小不同的数组,并返回不在第二个数组中的项目
Javascript Compare two arrays with different sizes and return the items that are not in second array
我有两个数组:
var array1 = [a,b,c,d];
var array2 = [1,2,a,b];
我需要有一个函数来返回不在第二个数组中的项目数组。
var notInSecond = [c,d];
有谁知道如何做到这一点?
谢谢。
var notInSecond = array1.slice(0); // Creates a clone of array1
for (var i = 0, j; i < array2.length; i++) {
j = notInSecond.indexOf(array2[i]);
if (j > -1) notInSecond.splice(j, 1);
}
请记住,数组的indexOf
不适用于 IE8 及更低版本,必须对其进行模拟。我还假设array1
不包含重复项。
相关文章:
- 对象数组返回自最近日期以来的最高总体值
- 从多维数组返回嵌套数组
- 为什么当我点击<a>使用纯javascript;这个“;返回url,数组返回“url”;未定义”;
- 带多维数组返回字符串的json_encode;阵列”;而不是数据
- 如何将 AJAX 响应作为 JavaScript 数组返回
- 我正在尝试在 JS 中制作这个随机名称生成器.数组返回未定义
- .push() 多个对象进入 JavaScript 数组返回 'undefined'
- 如何按属性从可观察数组返回项
- 通过jquery发送的关联php数组返回[对象对象]
- 从 Javascript 中的对象数组返回单个属性的数组
- 循环遍历对象数组返回“未定义”
- 拼接数组返回空的序列
- Javascript 多维数组返回第一个值,然后失败
- Json 数组返回空值
- 从下划线.js中的数组返回一系列值
- for 语句不从数组返回值
- MongoDB从数组返回特定字段
- 试图将数组返回到表中的列表中
- Javascript中的二维数组返回未定义的数组
- 将函数数组作为布尔值数组返回