#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