【发布时间】:2016-02-20 18:07:51
【问题描述】:
我有一个javascript函数:
function isInSupplier(idsupplier) {
suppliers.forEach(function(object) {
if (object._id == idsupplier) {
console.log("TRUE");
return true;
};
});
return false;
我有一个产品清单,每个产品都有一个供应商。我想列出唯一的供应商,因此如果供应商已经在我的供应商列表中,我不会添加新的。
这是我的功能:
console.log(isInSupplier(('<s:property value="supplier.id" />')));
if (!isInSupplier(('<s:property value="supplier.id" />'))) {
suppliers.push(new supplier(
('<s:property value="supplier.id" />'),
('<s:property value="supplier.supplier_name" />'),
('<s:property value="supplier.type" />'),
('<s:property value="supplier.phone" />')
));
}
还有一些我不明白的地方:即使控制台正确记录“TRUE”,该函数也不会返回 true。在我的第二个代码块中,我有另一个控制台日志;总是记录错误。
我错过了什么?
【问题讨论】:
-
您只能从关闭中返回。即forEach。您的外部函数仅返回 false,这就是您所看到的
-
您只在 forEach() 函数内返回 true。你想知道的函数总是返回 false
标签: javascript