【问题标题】:Filter true meaning in javascript在javascript中过滤真正的含义
【发布时间】:2021-12-05 11:44:32
【问题描述】:
如果循环返回的值中至少有一个为真,则函数必须返回真。
我该怎么做?
const addCart = () => {
for (let i = 0; i < props.cart.length; i++) {
return props.cart[i].domainName === props.domainName;
}
};
【问题讨论】:
标签:
javascript
function
for-loop
【解决方案1】:
试试下面的代码。
const addCart = () => {
for (let i = 0; i < props.cart.length; i++) {
if (props.cart[i].domainName === props.domainName) {
return true;
}
}
return false;
};
当找到第一个相等属性时,该函数返回 true。它使您可以在不检查数组的所有元素的情况下获得结果。
【解决方案2】:
我建议:
const addCart = () => {
// here we use Array.prototype.some(),
// which returns a Boolean; true if any
// of the array-elements match the provided
// assessment, or false if not:
return props.cart.some(
(cart) => cart.domainName === props.domainName
);
}
参考资料:
【解决方案3】:
你可以在这里使用some
const addCart = () => {
if (props.cart.some((o) => o.domainName === props.domainName)) return true;
return false;
};
或简单地使用单衬管解决方案
const addCart = () => props.cart.some((o) => o.domainName === props.domainName);
【解决方案4】:
const addCart = () => props.cart.some(e=>e.domainName===props.domainName);