我有变量/项目列表
dbTemp = [Type,Threshold,TypeID,Prioirty,Value,Assign]
其中Type,Threshold,TypeID,Prioirty
是变量
比方说,他们的值是1,0,2,0,NULL,21
如果变量值为0
或NULL
,我需要从列表中删除/排除它们,并根据非零或非NULL值构建动态变量表达式
在这种情况下,Dynamic Expression = Type>0+TypeID>0+Assign>0
(排除了Threshold
,Priority
,Value
个变量,因为它们的值为0
或NULL
)
你能帮我吗?
答案 0 :(得分:1)
在此处过滤:
var filtered = dbTemp.filter( function(el) { return !!el; } );
将包含dbTemp;
中的所有非null或零元素答案 1 :(得分:0)
如果您想根据某些条件进行过滤,而不是仅过滤虚假值:
var filtered = orignalArray.filter(function(item) {
return (item !== condition1) && (item !== condition2);
});
P.S。 NULL!== null
答案 2 :(得分:0)
如果您允许任何虚假值和结果是过滤后的副本,那么这就足够了:
var result = dbTemp.filter(Boolean);
如果你真的需要改变原作并且顺序无关紧要,那就这样做:
for (var i = 0; i < dbTemp.length; i++) {
if (!dbTemp[i]) {
dbTemp[i] = dbTemp[dbTemp.length-1];
dbTemp.length--;
i--;
}
}
如果原始订单确实重要,那么:
for (var i = 0; i < dbTemp.length; i++) {
if (!dbTemp[i]) {
dbTemp[i].splice(i, 1);
i--;
}
}