动态检查条件使用数组:Jquery或Javascript

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)

怎么可能?

Adi*_*dil 5

可以使用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()以获得更好的跨浏览器/版本兼容性.