2016-03-18 11 views
1

中の特定の要素を検索:私はこのように、例えば、見え項目の配列持ちJS配列

[el, el, *el*, TARGET, TARGET, TARGET, *el*, el, el, el] 

私は、標的配列に対する前後の要素を取得する方法を見つけることができませんが、両方とも*el*です。 TARGET要素の順序は変わりますが、シーケンスは常に具体的です。すなわち、TARGET, el, TARGETは発生しません。私もlodashメソッドにアクセスできますが、これを実現する正しい方法を見つけることができませんでした。

+1

あなたはより良い説明を行うことができますか? –

+0

['indexOf'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf)と[' lastIndexOf'](https:// developerの組み合わせです。 .mozilla.org/ja-jp/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf)? –

+1

実際の値を持つ配列を表示する – RomanPerekhrest

答えて

2

あなたはindexOflastIndexOfを使用することができます。

var arr = ['el', 'el', '*el*', 'TARGET', 'TARGET', 'TARGET', '*el*', 'el', 'el']; 
 

 
var first = arr[arr.indexOf('TARGET') - 1]; 
 
var second = arr[arr.lastIndexOf('TARGET') + 1]; 
 

 
document.write(first + '<br/>'); 
 
document.write(second);

+1

@dandavis特に問題は起こらないと言います。 – kmiyashiro

0
var array = [1, 2, 1, 1, 3, "A", 3, 2, 1]; 

var position = array.indexOf("A"); // 5 

(array[5] == "A")    // true 
(array[position] == "A")  // true 
(array[position - 1] == 3)  // true 

for (var i = 0; i < position; i++) { 
    console.log(i); // 1, 2, 1, 1, 3 
} 
関連する問題