获取数组中的字符串索引

时间:2015-10-11 20:17:38

标签: javascript arrays

我正在抨击这一个。我已经尝试使用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)给了我相同的结果。有什么想法吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

这似乎对我有用:

&#13;
&#13;
result.add(new ArrayList<String>(4));
&#13;
&#13;
&#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

感谢您的帮助。