如果数组中的所有值均为真(字符串)并且其中一个值为假(字符串),如何 return 布尔值为真停止使用 Javascript 进行检查
How to return a boolean true if all the values in an array are true (strings) and if one of the value is false(string) stop checking using Javascript
我有一个数组
var myarr = ["true","false","true"];
我想要上面的return布尔类型的false。
var myarr = ["true","true","true"];
我希望上面的布尔类型 return 为真。
有人可以帮助实现这一目标的最有效方法是什么吗?
是否最好先将字符串转换为另一个数组中的布尔值,然后再使用 .every()?
请指教。谢谢。
检查 .every
值是否为 'true'
。
return myarr.every(val => val === 'true');
在这里检查你的答案,你肯定会在这里得到更深入的答案:
let arr1 = ['true', 'false', 'true'],
arr2 = ['true', 'true', 'true'];
let checker = arr => arr.every(v => v === 'true');
console.log(checker(arr1));
console.log(checker(arr2));
要在遇到 "false"
字符串时停止处理,请使用 Array.prototype.some
const allTrue = arr => !arr.some(entry => entry === 'false');
console.log("expect false true:");
console.log( allTrue(["true","false","true"]) );
console.log( allTrue(["true","true","true"]) );
如果您需要检查 'true' 个字符串,请在 some
参数中使用 !==
运算符:
const allTrue = arr => !arr.some(entry => entry !== 'true');
您可以像下面这样使用,因为 Array.every 会迭代数组中存在的每个元素,即使其中存在 false
。
const result = myarr.includes('false'); // true
const result2 = myarr.some((v) => v === 'false'); // true
我有一个数组
var myarr = ["true","false","true"];
我想要上面的return布尔类型的false。
var myarr = ["true","true","true"];
我希望上面的布尔类型 return 为真。 有人可以帮助实现这一目标的最有效方法是什么吗?
是否最好先将字符串转换为另一个数组中的布尔值,然后再使用 .every()?
请指教。谢谢。
检查 .every
值是否为 'true'
。
return myarr.every(val => val === 'true');
在这里检查你的答案,你肯定会在这里得到更深入的答案:
let arr1 = ['true', 'false', 'true'],
arr2 = ['true', 'true', 'true'];
let checker = arr => arr.every(v => v === 'true');
console.log(checker(arr1));
console.log(checker(arr2));
要在遇到 "false"
字符串时停止处理,请使用 Array.prototype.some
const allTrue = arr => !arr.some(entry => entry === 'false');
console.log("expect false true:");
console.log( allTrue(["true","false","true"]) );
console.log( allTrue(["true","true","true"]) );
如果您需要检查 'true' 个字符串,请在 some
参数中使用 !==
运算符:
const allTrue = arr => !arr.some(entry => entry !== 'true');
您可以像下面这样使用,因为 Array.every 会迭代数组中存在的每个元素,即使其中存在 false
。
const result = myarr.includes('false'); // true
const result2 = myarr.some((v) => v === 'false'); // true