javascript中php函数push_array
和in_array
的等价物是什么?
数组很简单(不是多维)。
没有找到原生的东西。
答案 0 :(得分:4)
您正在寻找push
method和indexOf
method。
请注意,IE不支持indexOf
,因此您需要自己实现,如下所示:
if (!Array.prototype.indexOf)
{
Array.prototype.indexOf = function(searchElement /*, fromIndex */)
{
"use strict";
if (this === void 0 || this === null)
throw new TypeError();
var t = Object(this);
var len = t.length >>> 0;
if (len === 0)
return -1;
var n = 0;
if (arguments.length > 0)
{
n = Number(arguments[1]);
if (n !== n) // shortcut for verifying if it's NaN
n = 0;
else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0))
n = (n > 0 || -1) * Math.floor(Math.abs(n));
}
if (n >= len)
return -1;
var k = n >= 0
? n
: Math.max(len - Math.abs(n), 0);
for (; k < len; k++)
{
if (k in t && t[k] === searchElement)
return k;
}
return -1;
};
}
(从MDC复制)
答案 1 :(得分:2)
push_array
:
这是JavaScript中Array对象的原生代码:
var someArray = [];
someArray.push(value);
in_array
:
这不是JavaScript中的Array本机,但是有些浏览器支持Array.indexOf,可以将其与-1进行比较。如果不支持,则需要迭代项目。
function inArray(elem, array) {
if (array.indexOf) {
return array.indexOf(elem) > -1;
}
for (var i = 0, length = array.length; i < length; i++) {
if (array[ i ] === elem ) {
return true;
}
}
return false;
}
答案 2 :(得分:1)
您必须使用JavaScript Array对象。然后你可以使用.push()。
查找: How do I check if an array includes an object in JavaScript?