Массив.Некоторые из них должны содержать хотя бы одно заполненное значение

#javascript

Вопрос:

Я что-то практикуюсь с array.prototype.some()

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some

В основном то, что я пытаюсь сделать, это до тех пор, пока массив содержит заполненное строковое значение и некоторые пустые строковые значения. Я хочу, чтобы это было верно до тех пор, пока, например, одно заполненное строковое значение находится в массиве.

 const array1 = [ 'g', '']; //returns true
const array2 = [ '', '']; //return true
const array3 = [ '', 'x']; //return true
const array4 = [ 'g', 'x']; //return false
// checks whether an element contains at least one populated string (non blank string)
const even = (element) => element === '';

console.log(array1.some(even)); //Should be True
console.log(array2.some(even)); //Should be False
console.log(array3.some(even)); //Should be True
console.log(array4.some(even)); //Should be True
 

Я знаю это, потому что элемент === » но я не знаю, что написать, чтобы сделать это так, как я этого хочу, заранее спасибо!

Комментарии:

1. Почему названа функция even ?

Ответ №1:

Инвертируйте тест — убедитесь, что некоторые элементы не являются пустой строкой:

 const array1 = [ 'g', '']; //returns true
const array2 = [ '', '']; //return true
const array3 = [ '', 'x']; //return true
const array4 = [ 'g', 'x']; //return false
// checks whether an element contains at least one populated string (non blank string)
const even = (element) => element !== '';

console.log(array1.some(even)); //Should be True
console.log(array2.some(even)); //Should be False
console.log(array3.some(even)); //Should be True
console.log(array4.some(even)); //Should be True