繁体   English   中英

如何用for循环填充数组?

[英]How to fill an array with a for loop?

我在学习如何使用for循环填充新变量时遇到很多麻烦。 例如,如果我有var year = [2010, 2000, 1992]; var age = [];

如何使用for循环填充age变量?

如果这是一个不好的例子,请不要使用它。 我只想了解一些如何填充空数组的帮助。

 var names = ["Ace", "yoshi", "Lassie"]; var age = [25, 23, 5]; var u24 = []; for (var i = 0; i < names.length; i++) { if ([age] < 24) { u24 += age[i] console.log("hello " + names + " " + "you are" + age); } } 

最好创建包含相关数据的对象。 nameage到一个人对象中会有所帮助。

 var persons = [ { name: "Ace", age: 25 }, { name: "yoshi", age: 23 }, { name: "Lassie", age: 5 } ]; var u24=[]; for (var i =0; i < persons.length; i++) { var person = persons[i]; if(person.age < 24){ u24.push(person.age); console.log("hello " + person.name + " " + "you are " + person.age); } } console.log(u24); 

但是您也可以像这样使用forEach

 var persons = [ { name: "Ace", age: 25 }, { name: "yoshi", age: 23 }, { name: "Lassie", age: 5 } ]; var u24=[]; persons.forEach( function(person) { if(person.age < 24){ u24.push(person.age); console.log("hello " + person.name + " " + "you are " + person.age); } } ); console.log(u24); 

通过使对象包含所有相关数据,您的循环将永远不会失去同步。 如果您从persons数组中删除人员,则其nameage将一起显示。

更新:使用过滤器

 var persons = [ { name: "Ace", age: 25 }, { name: "yoshi", age: 23 }, { name: "Lassie", age: 5 } ]; var youngPersons = persons.filter( function(person) { return (person.age < 24); } ); console.log(youngPersons); 

或使用ES6箭头功能

  var persons = [ { name: "Ace", age: 25 }, { name: "yoshi", age: 23 }, { name: "Lassie", age: 5 } ]; var youngPersons = persons.filter((person) => person.age < 24); console.log(youngPersons); 

这将Age under 24条件提供一系列与您的Age under 24相匹配的人。

如果您要做的只是用循环填充age数组,则可以尝试以下操作:

 let years = [2010, 2000, 1992], age = [], d = new Date().getFullYear(); years.forEach(year => age.push(d - year)); console.log(age); 

关于年龄和名字之间的关系,我认为Intervalia对此做了解释。

工作版本。 请将其与您的代码进行比较以查看差异。 刚开始时,数组总是让我着迷,尽管使用了方括号符号,但跨语言的语法却有所不同。AutoIt语言仍然使我感到困惑:P

var names = ["Ace", "yoshi", "Lassie"];
var age = [25, 23, 5];
//Use array.push() to append values
var u24 = [];

//variable i counts up to names.length
//because i++ means 'add one' to i

for (var i = 0; i < names.length; i++) {
    //if ([age] < 24) {u24 += age[i];
    //age at the count 'i' (which is
    //counting)
    //is achieved by array[at_index]
    if (age[i] < 24) {
        u24.push(age[i]); //add it to the end
        console.log("Hello " + names[i] +
          ", you are " + age[i]);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM