如何删除.toplevel {
height: 100vh;
min-height: 800px;
border: solid 1px blue;
}
.container {
display: flex;
border: solid 1px red;
height: 100%;
flex: 0 1 auto;
flex-direction: column;
// min-height: 800px;
}
.up {
display: flex;
flex: 1 1 auto;
}
.down {
display: flex;
flex: 0 1 auto;
}
中存在的<div class="toplevel">
<div class="container">
<div class="up">
This is up
</div>
<div class="up">
This is down
</div>
</div>
</div>
中的所有值如果b变量中存在值,则必须删除所有出现的值
var a = [1,2,2,2,3]
如何删除b var值。我们有很多逻辑请简要回答
答案 0 :(得分:2)
一个简单的解决方案是使用Array#filter,并使用Array#indexOf检查值是否存在:
var a = [1, 2, 2, 2, 5];
var b = [2];
var result = a.filter(function(n) {
return b.indexOf(n) === -1;
});
console.log(result);
&#13;
但是,这需要第二个阵列的冗余迭代。更好的解决方案是使用Array#reduce从b
创建字典对象,并在过滤中使用它:
var a = [1, 2, 2, 2, 5];
var b = [2];
var bDict = b.reduce(function(d, n) {
d[n] = true;
return d;
}, Object.create(null));
var result = a.filter(function(n) {
return !bDict[n];
});
console.log(result);
&#13;
答案 1 :(得分:2)
您可以为不需要的商品选择Set
。
var a = [1, 2, 2, 2, 5],
b = [2],
result = a.filter((s => v => !s.has(v))(new Set(b)));
console.log(result);
&#13;
答案 2 :(得分:2)
使用数组filter()
尝试以下操作:
var a = [1,2,2,2,5];
var b = [2];
var c = a.filter(item => !b.includes(item))
console.log(c)
答案 3 :(得分:1)
使用array.filter
var first = [1, 2, 2, 2, 5];
var second = [2];
var result = first.filter(function(n) {
return second.indexOf(n) === -1;
});
console.log(result);
&#13;
答案 4 :(得分:1)
var a = [1,2,2,2,5];
var b = [2];
var result= a.filter(function(x) {
return b.indexOf(x) < 0;
});
console.log(result)