Есть код:
function checkUser(ctx) {
let fileData = [1, 2, 3];
fileData.forEach(element => {
if (element == userId) {
console.log("true");
return element;
}
});
console.log("false");
return false;
}
Я ожидал увидить в консоли false или true. Но вместо true вижу true false вместе. Почему?
Используйте for
let fileData = [1, 2, 3],
userId = 3;
function checkUser(fileData, userId) {
for (let element of fileData) {
if (element == userId) {
console.log("true");
return element;
}
}
console.log("false");
return false;
};
checkUser(fileData, userId);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Найдено даже два ответа.
1) Так как первый return относится к foreach, то можно использовать some или every. @Дмытрык
2) Для моего конкретного случая идеально подходит find вместо б. @smellyshovel
function checkUser(ctx) {
let fileData = [1, 2, 3];
for(let element of fileData){
if (element == userId) {
console.log("true");
return element;
}
}
console.log("false");
return false;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Нужно сформировать строку с элементов массива, добавление в массив у меня происходит через ключ элемента, массив объявляется через фигурные...
Создаю массив, добавляю элементы, мне необходимо иметь в ключе число с плавающей точкой, когда пытаюсь вывести все элементы в одну строку...
выкидывает исключение: Error: The value passed as the game argument (null) is not an instance of PhaserGame
Мне нужно что бы по нажатию на ссылку с классом like посылался запрос на страницу sitecom/api/like/ с POST параметрами comment_id = 1 (тут id комментария берется...