-1
мне нужна помощь, я эту функцию в JavaScript:Уменьшить JavaScript, если заявление
function getPosition(elementToFind, array) {
var i;
for (i = 0; i < array.length; i += 1) {
if (array == elementToFind) {
return i;
}
}
}
А то у меня есть цикл, если я хотел бы уменьшить:
if (
getPosition(1, arraySomething) == 0 &&
getPosition(2, arraySomething) == 1 &&
getPosition(3, arraySomething) == 2 &&
getPosition(4, arraySomething) == 3 &&
getPosition(5, arraySomething) == 4 &&
getPosition(6, arraySomething) == 5 &&
getPosition(7, arraySomething) == 6 &&
getPosition(8, arraySomething) == 7 &&
getPosition(9, arraySomething) == 8 &&
getPosition(10, arraySomething) == 9 &&
getPosition(11, arraySomething) == 10
) {
...code
}
Как я могу сделать Это?
Ваша функция 'getPosition()' не имеет для меня никакого смысла. Вы зацикливаете и сравниваете 'array == elementToFind', но ничто в этом сравнении не меняется по мере того, как вы выполняете цикл, поэтому он всегда будет true или всегда будет false. Цикл ничего полезного не делает. Если вы хотите быть compariing 'array [i] == elementToFind', тогда вы можете просто использовать функцию Array' .indexOf() ', которая встроена и полностью избавлена от' getPosition() '. – jfriend00
Как всегда, если вы описали, какую проблему вы действительно пытаетесь решить (какие данные вы начинаете и что вы пытаетесь с ней сделать), мы, вероятно, поможем вам найти хорошее решение, но здесь вы спрашиваете как оптимизировать недостающую функцию, не объясняя цель - мы не можем там сделать. – jfriend00
Моя цель - создать головоломку с изображением (25 изображений (не 11)), используя массивы ... То, что я хотел, было тогда, когда изображение 25 (белое) было на позиции 24 (последний), фон изображения 25 изменилось ... цикл, если была моя попытка организовать головоломку в порядке от изображения 1 к изображению 25, когда головоломка была в этом порядке, фон изображения 25 изменился. На самом деле это (array === elementToFind) и не (array == elementToFind) ... Прошу прощения, но это мой первый год в HTML (мне 18) и извините за мой плохой английский: P Спасибо apaul34208, больше не нужна помощь. – ElHashashin