我试图在特定数组值之前和之后获取值。
喜欢这个
var arr = ["model", "color", "handle", "front", "extras"];
var category = "color";
for(i in array) {
if(array[i] == category {
//grab in this case model and handle
}
}
我尝试了很多东西,例如:向数组中添加键,将数组强制转换为对象,但没有任何帮助。
提前致谢
答案 0 :(得分:2)
您可以使用indexOf
来获取类别的索引。然后知道索引你可以做-1或+1来获得前后的值。
如果之前或之后没有值,比如在这个例子中类别是“extras”,那么它将返回undefined。在使用之前,您可能需要检查值是否未定义。
var arr = ["model", "color", "handle", "front", "extras"];
var category = "color";
var i = arr.indexOf(category);
var val1 = arr[i-1];
var val2 = arr[i+1];
答案 1 :(得分:0)
您可以执行以下操作;
var arr = ["model", "color", "handle", "front", "extras"],
doit = (arr,str) => { fi = arr.indexOf(str);
return [arr[fi-1],str,arr[fi+1]];
};
console.log(doit(arr,"model"));