首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >比较数组js

比较数组js
EN

Stack Overflow用户
提问于 2014-03-24 19:46:03
回答 6查看 147关注 0票数 0

我有以下几点

代码语言:javascript
运行
复制
var a = [4,6,12];
var b = [4,6];

for (var i = 0; i < a.length; i++) {
    for (var j = 0; j < b.length; j++) {
       if (a[i] !== b[j]) {
         a.pop();
       }
    }
}

我想要比较这两个数组,如果在b中找不到,就从a中删除12。我不想创建一个新的数组,结果只是从a中删除。

然而,如果我通过控制台登录a,我会得到a为空。

EN

回答 6

Stack Overflow用户

发布于 2014-03-24 19:50:27

a出现为空的原因是因为您的双循环。您正在将a的每个元素与b的每个其他元素进行比较。当你点击== b1时,很明显,4 != 6,所以你会弹出它。

票数 1
EN

Stack Overflow用户

发布于 2014-03-24 19:49:48

代码语言:javascript
运行
复制
var a = [4,6,12];
var b = [4,6];

for (var i = 0; i < a.length; i++) {
       if (!b.indexOf(a[i])) {
         a.pop();
       }
}
票数 0
EN

Stack Overflow用户

发布于 2014-03-24 19:49:55

代码语言:javascript
运行
复制
var a = [4,6,12];
var b = [4,6];

var common = $.grep(a, function(element) {
    return $.inArray(element, b ) !== -1;
});

console.log(common); // returns [4,6];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22608503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档