var qs = ["color=green", "pet=dog", "fruit=apple]
実をつけたいです。試した:
for (var j=0; j<qs.length; j++) {qs[j].indexOf('fruit')}
それは0を返しました。
配列の最後のエントリである2を返すと思っていましたか?必要な配列値を見つけるにはどうすればよいですか?
ほぼ完了しました。インデックスを中断するか、新しい配列を作成して、インデックスが一致する配列をその配列にプッシュする必要があります。
var arr = [];
for (var j=0; j<qs.length; j++)
{
if(qs[j].indexOf('fruit')!==-1){
arr.push(j);
}
}
//print all the indexes that contain fruit
for(var i in arr)
console.log(arr[i]);
1つのインデックスだけが必要な場合はブレークするだけです
var matchingIdx=-1;
for (var j=0; j<qs.length; j++)
{
if(qs[j].indexOf('fruit')!==-1){
matchingIdx = j;
break;
}
}
これを一般化したい場合は、関数に入れることができます
function gettingMatchingIndexes(qs, target) {
var arr = [];
for (var j=0; j<qs.length; j++)
{
if(qs[j].indexOf(target)!==-1){
arr.push(j);
}
}
return arr;
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加