我有 JavaScript 数组包含这样的链接:
var urls = ['url1','url2','url3'];
if (urls.indexOf(window.location.hostname) > -1)
{
// do something ...
}
else {
window.location.href = 'redirect url';
}
这段代码运行良好,但我试图将它转换为一个对象数组,如下所示:
var urls = [
{
'url':'url1'
},
{
'url':'url2'
},
{
'url':'url3'
},
];
if (urls.url.indexOf(window.location.hostname) > -1)
{
// do something ...
}
else {
window.location.href = 'redirect url';
}
但是这段代码不起作用!!
如何将第一个代码转换为对象数组,或者如何在数组中搜索?
最佳答案
最简单的解决方案是使用 array.some
if(urls.some(function(item) { return item.url == window.location.hostname;})) {
// do something ...
} else {
window.location.href = 'redirect url';
}
更具可读性
var found = urls.some(function(item) {
return item.url == window.location.hostname;
});
if(found) {
// do something ...
} else {
window.location.href = 'redirect url';
}
关于javascript - 如何在数组中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35520782/