code1,code2和Code3是常量,而code1quantity,code2quantity值来自屏幕
如果我没有得到数量的价值,那么代码也不应该添加到数组
条件1:
var Code1 = 'xyz';
var Code2 = 'abc';
var Code3 = 'mno';
var Code1Quantity = 1;
var Code2Quantity = 2;
var Code3Quantity = 3;
var data = {
Codes : [{'code':Code1,'Quantity':Code1Quantity},
{'code':Code2,'Quantity':Code2Quantity},
{'code':Code3,'Quantity':Code3Quantity}
]
}
需要实现条件2:
var Code1 = 'xyz';
var Code2 = 'abc';
var Code3 = 'mno';
var Code1Quantity = 1;
var Code2Quantity = 0;
var Code3Quantity = 1;
var data = {
Codes : [{'code':Code1,'Quantity':Code1Quantity},
{'code':Code3,'Quantity':Code3Quantity}
]
}
如果Code2Quantity为零,我们也不应该添加code2,因为代码数量值是从屏幕中选择的,它可能有也可能没有值
如何实现?
答案 0 :(得分:1)
您可以使用下面的过滤函数处理数组
var data = {
Codes : [{'code':Code1,'Quantity':Code1Quantity},
{'code':Code2,'Quantity':Code2Quantity},
{'code':Code3,'Quantity':Code3Quantity}
].filter(code => code.Quantity > 0)
}
答案 1 :(得分:1)
您可以收集数组中的所有项目,使用对象构建数组并按数量过滤。
var Code1 = 'xyz',
Code2 = 'abc',
Code3 = 'mno',
Code1Quantity = 1,
Code2Quantity = 0,
Code3Quantity = 1,
codes = [Code1, Code2, Code3],
quantity = [Code1Quantity, Code2Quantity, Code3Quantity],
data = {
Codes: codes.map(function (c, i) {
return { Code: c, Quantity: quantity[i] };
}).filter(function (o) {
return o.Quantity;
})
};
console.log(data);