对于Javascript和编码来说是新手!
我基本上是在测试数组中的字符串,如果字符串返回某个值,那么我想获取该字符串在数组中的索引,并将索引存储在另一个变量中。
我(我认为)的问题是,一旦我确定这是我要查找的字符串,就不确定要提取并推送索引的正确语法。如果我事先表示歉意, '对自己的解释不是很好。
这是我所拥有的:
let freightItems = ['contraband', 'clear', 'contraband', 'clear'];
function scan(freightItems) {
let contrabandIndexes = [];
freightItems.forEach(str => {
if (str === 'contraband') {
freightItems.push(contrabandIndexes);
}
})
return contrabandIndexes;
}
console.log(scan(freightItems))
您可以这样(使用forEach):
((注意,通过允许其扫描任何searchText
而不是硬编码“违禁品”来使您的函数更通用,是一个好主意)
let freightItems = ['contraband', 'clear', 'contraband', 'clear'];
function scan(freightItems, searchText) {
let contrabandIndexes = [];
freightItems.forEach((str, index) => {
if (str === searchText) {
contrabandIndexes.push(index);
}
})
return contrabandIndexes;
}
console.log(scan(freightItems, 'contraband'))
输出
[0, 2]
您也可以这样(用reduce):
let freightItems = ['contraband', 'clear', 'contraband', 'clear'];
function scan(freightItems, searchText) {
return freightItems.reduce((aggArr, str, index) => {
if (str === searchText) {
aggArr.push(index);
}
return aggArr;
}, [])
}
console.log(scan(freightItems, 'contraband'))