Reputation: 177
I have an array
var myarr = ["true","false","true"];
I want the above to return false of boolean type.
var myarr = ["true","true","true"];
I want the above to return true of boolean type. Can someone please help with what's the most efficient way to achieve this?.
Is it best to first convert the string to boolean in another array and then use .every()?.
Please advise. Thank You.
Upvotes: 3
Views: 6630
Reputation: 305
You can use like below, because Array.every iterates every element present in an array even it has false
present in it.
const result = myarr.includes('false'); // true
const result2 = myarr.some((v) => v === 'false'); // true
Upvotes: 1
Reputation: 19356
To stop processing if a "false"
string is encountered, use 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"]) );
If you need to check for 'true' strings, use a !==
operator in the some
argument:
const allTrue = arr => !arr.some(entry => entry !== 'true');
Upvotes: 1
Reputation:
Check your answer out here, you'll certainly get a more in-depth answer here: Check if all values in array are true, then return a true boolean statement (javascript)
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));
Upvotes: 5
Reputation: 371069
Check that .every
value is 'true'
.
return myarr.every(val => val === 'true');
Upvotes: 4