Javascript 如何在数组中循环,只添加字符串';以';a';到新阵列?
下面是问题的答案。我知道如何在数组中循环。我不知道如何检查数组中每个字符串中的特定字符,然后如何将这些字符串复制到新数组中 问题:在著名的数组中循环,只将名字以“a”开头的人添加到您的收藏夹中:Javascript 如何在数组中循环,只添加字符串';以';a';到新阵列?,javascript,html,Javascript,Html,下面是问题的答案。我知道如何在数组中循环。我不知道如何检查数组中每个字符串中的特定字符,然后如何将这些字符串复制到新数组中 问题:在著名的数组中循环,只将名字以“a”开头的人添加到您的收藏夹中: var favorites = []; var famous = [ 'alex smith', 'amy whinehouse', 'cameron diaz', 'brad pitt', 'ashton kutcher', 'mark whalberg', 'morgan freeman'
var favorites = [];
var famous = [ 'alex smith', 'amy whinehouse', 'cameron diaz', 'brad pitt',
'ashton kutcher', 'mark whalberg', 'morgan freeman', 'mila kunis'];
到目前为止,我的回答是:
var favoriteLetter = 'a';
for(var i = 0; i < famous.length; i++) {
if(famous.indexOf(0) === favoriteLetter) {
favorites.push(famous[i]);
}
};
var-favoriteLetter='a';
for(var i=0;i
您对.indexOf(0)
的使用不正确。相反,您希望对数组中的每个字符串使用.charAt(0)
。因此,改变这一点:
if(famous.indexOf(0) === favoriteLetter) {
为此:
if(famous[i].charAt(0) === favoriteLetter) {
以下是工作代码段中的一些固定代码:
var名人=['alex smith'、'amy whinehouse'、'cameron diaz'、'brad pitt'、'ashton kutcher'、'mark whalberg'、'morgan freeman'、'mila kunis'];
var=[];
var favoriteLetter='a';
for(var i=0;i更改
if(famous.indexOf(0) === favoriteLetter)
到
你的方法很好。只需抛出另一个选项,您还可以使用由等实现的\uu.filter()
方法进行“函数式编程”(同样在现代浏览器和IE9+中)
这是一个。你忘了在著名网站上添加索引。非常感谢你的帮助!添加了使用.filter()
的第二个示例。简单方法:收藏夹=著名的.filter(/./.test,/^a/i)
if(famous[i].charAt(0) === favoriteLetter)
var favoriteLetter = 'a',
favorites = _.filter(famous, function(name) {
return name.charAt(0) === favoriteLetter;
}));