gpt4 book ai didi

javascript - 在字符串末尾实现通配符

转载 作者:行者123 更新时间:2023-11-30 11:58:20 24 4
gpt4 key购买 nike

我浏览了很多帖子(和其他网站),似乎遇到了障碍。我有以下数组:

var data_dictionary = ["youtube.com", "facebook.com", "youtube.com/feed/subscriptions", "twitter.com"]

我正在尝试返回包含 youtube.com* 的所有内容的数据。以下是我的函数的相关片段:

var result = []     
for (var i=0; i<data_dictionary.length; i++) {
if (data_dictionary[i].page == /^youtube.com/) {
result.push (data_dictionary[i].page,data_dictionary[i].share)
}
}
break;
}
return result

问题区域在 if 子句中 (/^youtube.com/)。我怎样才能收到以下返回:

["youtube.com" , "youtube.com/feed/subscriptions"]

最佳答案

您可以使用 Array.prototype.filter() 方法过滤数组和 RegExp.prototype.test() 检查匹配。

var data_dictionary = ["youtube.com", "facebook.com", "youtube.com/feed/subscriptions", "twitter.com"];

function check(data_dictionary) {
return data_dictionary.filter(function(v) {
return /^youtube\.com/.test(v);
// using indexOf
// v.indexOf('youtube.com') == 0;
});
}
console.log(check(data_dictionary));


仅供引用:您的 if 条件仅在字符串为 '/^youtube.com/' 时才为真。即,('/^youtube.com/' ==/^youtube.com/) === true。如果您将 if 条件更改为 /^youtube.com/.test(data_dictionary[i]),您的代码将起作用。同样在提供的数据中,pageshare 属性未定义,只有纯字符串是元素。

关于javascript - 在字符串末尾实现通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37318070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com