Javascript 如何检查数组中是否存在值并获取下一个值?
我有一个数组Javascript 如何检查数组中是否存在值并获取下一个值?,javascript,arrays,Javascript,Arrays,我有一个数组让x=[”,“comp”,“myval”,“view”,“1”] 我想首先检查数组中是否存在值“comp”,如果存在,则获取下一个值。有什么想法吗 let x = ["", "comp", "myval", "view", "1"]; if (x.indexOf(yourVal) >= 0) { let nextValue = x[x.indexOf(yourVal) + 1]; } else { // doesn't exist. } 注意:
让x=[”,“comp”,“myval”,“view”,“1”]
我想首先检查数组中是否存在值“comp”
,如果存在,则获取下一个值。有什么想法吗
let x = ["", "comp", "myval", "view", "1"];
if (x.indexOf(yourVal) >= 0) {
let nextValue = x[x.indexOf(yourVal) + 1];
} else {
// doesn't exist.
}
注意:如果您的值是数组的最后一个值,则不会获得下一个值。您可以这样做
var x=["","comp","myval","view","1"],
l=-1!==x.indexOf("comp")?x[x.indexOf("comp")+1]:"no value";
console.log(l);
如果没有下一个值,可以使用函数并返回未定义的值 函数getNext(值,数组){ var p=数组。indexOf(value)+1; 如果(p){ 返回数组[p]; } } 设x=[“”、“comp”、“myval”、“view”、“1”] 日志(getNext('comp',x)); log(getNext('foo',x))代码>
基本上,检查
“comp”
是否存在于x
中,如果true
即-1
则返回索引(“comp”)+1
,这是下一项,否则返回-1
另一种方法是将第一个元素作为未定义的,然后获取搜索值的索引并返回数组[索引+1]
由于第一个元素是未定义的
,对于任何不匹配的情况,索引将返回-1
,这将获取数组中的第一个元素
这种方法包括创建新的数组并使用如果(索引)返回数组[index]
会更好,但这只是实现这一点的另一种方法
函数getNext(值,数组){
变量a=[未定义].concat(数组)
var p=a.indexOf(值)+1;
返回a[p];
}
设x=[“”、“comp”、“myval”、“view”、“1”]
日志(getNext('comp',x));
console.log(getNext('foo',x));
您可能重复在数组上循环两次。最好将索引值保存在一个变量中
let x = ["", "comp", "myval", "view", "1"]
let nextIndex = x.indexOf('comp') > -1 ? x.indexOf('comp') + 1 : -1;