2次元配列で正確な値を見つけようとしていますが、動作しません。私はどこでミスをしたのか分かりません。私は文字列 "Terminal - Gate:"だけを見つける必要があります。ここで 2次元配列の正確な値を求める
は私のコードです:var re = new RegExp('\"Terminal - Gate:\"');
はそれが役に立てば幸い
2次元配列で正確な値を見つけようとしていますが、動作しません。私はどこでミスをしたのか分かりません。私は文字列 "Terminal - Gate:"だけを見つける必要があります。ここで 2次元配列の正確な値を求める
は私のコードです:var re = new RegExp('\"Terminal - Gate:\"');
はそれが役に立てば幸い
'Terminal - Gate:'
を含む文字列を探しているようです。この場合、これはうまくいくはずです。
var data = [['abc', 'def'], ['abc', 'def'], ['abc', 'Terminal - Gate:', 'def', 'ghi']];
var i, j;
var found = false;
for (i = 0; i < data.length; i++) {
for (j = 0; j < data[i].length; j++) {
if (data[i][j].includes('Terminal - Gate:')) {
found = true;
break;
}
}
if (found) {
break;
}
}
if (!found) {
i = undefined;
j = undefined;
}
console.log(i, j);
それが見つかったときに停止されますと、あなたはループの外で正しいi
とj
値を持っています。見つからない場合は、i
とj
の両方がundefined
になります。
この次の正規表現を試してみてください?このように...
for (let i = 0; i < data.length; i++) {
for (let j = 0; j < data[i].length; j++) {
if (data[i][j].includes('Terminal - Gate:')){
console.log(data[i][j]);
console.log(data.indexOf(data[i]));
console.log(data.indexOf(data[j]));
}
}
}
があなたの代わりに.includes()
を使用することもできます。
for (i = 0; i < data.length; i++) {
for (j = 0; j < data[i].length; j++) {
var re = new RegExp('\\b(' + "Terminal - Gate:" + ')\\b');
var checkWord = re.test(data[i][j]);
if (checkWord){
console.log(data[i][j]);
console.log(data.indexOf(data[i]));
console.log(data.indexOf(data[j]));
}
}
}
入力データのサンプルを提供できますか?またはおそらくフィドルまたはプランナー? –