我正在抨击这一个。我已经尝试使用indexOf()并使我自己的函数迭代数组并比较每个术语但我总是得到-1!
function checkindex(array,temp) {
for(var i = 0; i < array.length; i++) {
console.log(array[i] + " " + temp);
if (array[i] == temp) return i;
}
return -1;
}
array是一个以这种方式生成的Object:
var array = (req.body.somestring).split(',');
当我以这种方式输出数组和字符串时:
console.log(array[i] + " " + temp);
我得到这样的东西:
["My variable","Something else"] My variable
拼写匹配但仍为-1。 array.indexOf(temp)给了我相同的结果。有什么想法吗?
提前致谢。
答案 0 :(得分:0)
这似乎对我有用:
result.add(new ArrayList<String>(4));
&#13;
旧版浏览器有一个很好的polyfill,可以在这里找到:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf
答案 1 :(得分:0)
所以问题实际上是上游...我在发送之前对数据进行了字符串化(JSON.stringify),因此来自var array = (req.body.somestring).split(',');
的字符串包括括号和所有字符串。这就是为什么console.log(数组)的输出看起来像这样:
["My variable","Something else"]
这种情况下的要素是:
array [0] === [“我的变量”
array [1] ===“其他东西”]
解决方案是使用JSON.parse而不是拆分。之后的console.log(数组)的输出是:
My variable,Something else
感谢您的帮助。