我有一个这样的对象数组——比如 testArray。 我需要检查数组中的每个对象,如果任何 saveNumbers 数组为空,我的函数应该返回 false。
我的功能如下:
public checkSaveNumbers(): boolean {
let result;
if (this.testArray) {
result = _.some(this.testArray, member => !member.saveNumbers.length);
}
console.log(result);
}
在这里,我上面的对象的结果显示为真,我们可以看到数组中的第一个元素的 saveNumbers 数组为空。在那种情况下,我希望结果是错误的。我想使用 Lodash 来实现这一点,但我不确定这里出了什么问题。
更新:
根据评论中的建议,我将代码更改为以下内容:
public checkSaveNumbers(): boolean {
let result = true;
if (this.testArray) {
result = _.every(this.testArray, member => member.saveNumbers.length > 0); //as soon as the condition is false, result should become false otherwise result will remain true.
console.log(result);
}
}
但是,使用此代码,即使我的 saveNumbers 数组对于 testArray 中的每个成员都非空,我得到的结果也是 false。
原文由 clever_bassi 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以按如下方式重写您的函数:
http://jsbin.com/domitexazo/edit?js,控制台