Почему в данном коде последний элемент массива который передан функции inArray( [1,2,3,4,5] ) не добавляется в массив result ? Но если в конец массива добавить любой другой элемент то результат будет правильным ( result = [ 3,4,5] ).
function inArray(array) {
return function (currentArray) {
var result = [];
for (var i = 0; i < currentArray.length; ++i) {
if (currentArray[i] in array )
result.push(currentArray[i]);
}
return result ;
}
}
var a = inArray([1,2,3,4,5])([3,5,4]); // result = 3,4
alert(a);
Потому что Вы перепутали оператор in
и функцию indexOf/includes
.
Но если в конец массива добавить ...
(В коде два массива. О каком из них речь? Очевидно, о первом.)
Потому что тогда в array
появляется элемент с индексом 5
.
function inArray(array) {
return function (currentArray) {
var result = [];
for (var i = 0; i < currentArray.length; ++i) {
if (array.includes(currentArray[i]))
result.push(currentArray[i]);
}
return result ;
}
}
var a = inArray([1,2,3,4,5])([3,5,4]); // result = 3,4
console.log(a);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
У меня есть по сути два компонента с одной и той же логикой в методе componentWillReseiveProps и в некоторых методах еще Как мне применить наследование...
Из готовых решений что-то у меня не получается найтиА вообще было бы лучше своим кодом сделать