Me7*_*888 2 javascript arrays jquery
这是静态条件
var as = $(json).filter(function (i, n) {
return n.website === 'yahoo' || n.website === 'ebay'
});
Run Code Online (Sandbox Code Playgroud)
但想动态检查我的数组值是什么
weblist[0] = "yahoo";
weblist[1] = "google";
weblist[2] = "ebay";
weblist[3] = "rediff";
weblist[4] = "amazon";
Run Code Online (Sandbox Code Playgroud)
我想使用上面的数组值来检查条件
var as = $(json).filter(function (i, n) {
return n.website === 'yahoo' || n.website === 'google' || n.website === 'ebay' || n.website === 'rediff' || n.website === 'amazon'
});
Run Code Online (Sandbox Code Playgroud)
怎么可能?
可以使用Array.prototype.indexOf()上weblist,以过滤数组中的元素weblist
var as=$(json).filter(function (i,n){
return weblist.indexOf(n.website) !== -1
});
Run Code Online (Sandbox Code Playgroud)
indexOf在第5版中被添加到ECMA-262标准中; 因此,它可能不会出现在所有浏览器中.您可以通过在脚本开头使用以下代码来解决此问题.这将允许您在仍然没有本机支持时使用indexOf.假设TypeError和Math.abs具有其原始值,则此算法与ECMA-262第5版中指定的算法匹配.
编辑
您还可以尝试使用jQuery 函数jQuery.inArray()以获得更好的跨浏览器/版本兼容性.