Anonymous
JavaScript IndexOf не работает с подчеркиванием =
Сообщение
Anonymous » 29 янв 2025, 13:12
Привет, так что я немного смущен. Насколько я понимаю, метод индекса использует строгое равенство, что, на мой взгляд, означает, что если у меня есть объект < /p>
Код: Выделить всё
animal = {id: 1, name: 'bison'}
< /code>
оператор
animal.name === 'bison'< /code>
было бы правдой. "И" bison_ox ", что, по моему мнению, означает, что он не следует за строгим равенством или я что -то упускаю? "Snippet-Code">
const beasts = ['bison', 'camel', 'duck', 'bison_ox'];
const tmp = [{id: 1, name: 'bison'}, {id: 2, name: 'camel'}, {id: 3, name: 'duck'}, {id: 4, name: 'bison_ox'}]
// Expected output: 1
for(let i = 0; i< beasts.length; i++) {
tmp.forEach(item => {
if(beasts[i].indexOf(item.name) !== -1) {
console.log('index: ' + i + ' item: ' + item.name + ' beast: ' + beasts[i])
}
})
}< /code>
< /div>
< /div>
< /p>
дает следующий выход < /p>
> "index: 0 item: bison beast: bison"
> "index: 1 item: camel beast: camel"
> "index: 2 item: duck beast: duck"
> "index: 3 item: bison beast: bison_ox"
> "index: 3 item: bison_ox beast: bison_ox"
Почему IndexOf Получите первый индекс (Bison), когда SearchElement - bison_ox
Подробнее здесь:
https://stackoverflow.com/questions/793 ... underscore
1738145527
Anonymous
Привет, так что я немного смущен. Насколько я понимаю, метод индекса использует строгое равенство, что, на мой взгляд, означает, что если у меня есть объект < /p> [code]animal = {id: 1, name: 'bison'} < /code> оператор animal.name === 'bison'< /code> было бы правдой. "И" bison_ox ", что, по моему мнению, означает, что он не следует за строгим равенством или я что -то упускаю? "Snippet-Code"> const beasts = ['bison', 'camel', 'duck', 'bison_ox']; const tmp = [{id: 1, name: 'bison'}, {id: 2, name: 'camel'}, {id: 3, name: 'duck'}, {id: 4, name: 'bison_ox'}] // Expected output: 1 for(let i = 0; i< beasts.length; i++) { tmp.forEach(item => { if(beasts[i].indexOf(item.name) !== -1) { console.log('index: ' + i + ' item: ' + item.name + ' beast: ' + beasts[i]) } }) }< /code> < /div> < /div> < /p> дает следующий выход < /p> > "index: 0 item: bison beast: bison" > "index: 1 item: camel beast: camel" > "index: 2 item: duck beast: duck" > "index: 3 item: bison beast: bison_ox" > "index: 3 item: bison_ox beast: bison_ox" [/code] Почему IndexOf Получите первый индекс (Bison), когда SearchElement - bison_ox Подробнее здесь: [url]https://stackoverflow.com/questions/79396356/javascrip-indexof-not-working-with-underscore[/url]