Javascript 如何在数组中循环,只添加字符串';以';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'

下面是问题的答案。我知道如何在数组中循环。我不知道如何检查数组中每个字符串中的特定字符,然后如何将这些字符串复制到新数组中

问题:在著名的数组中循环,只将名字以“a”开头的人添加到您的收藏夹中:

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;
    }));