我是一个noob学习javascript.我的导师给了我这个功课.
家庭作业:编写一个函数,它接受一组对象和一个数字maxAge.每个对象都有两个属性:name,age.返回一个新的对象数组,仅包含年龄小于或等于maxAge的对象.
这是我做的:
const objectArray = [
firstObject = {
name: "Ryan",
age: 32
},
secondObject = {
name: "Caroline",
age: 1
},
thirdObject = {
name: "Steve",
age: 35
},
fourthObject = {
name: "Sheila",
age: 67
},
fifthObject = {
name: "Ron",
age: 67
},
sixthObject = {
name: "deadGuy",
age: 150
},
];
const maxAge = 67;
const makeAgeDiscrimArray = (objectArray) => {
const ageDiscrimArray = [];
const above67Array = [];
const length = objectArray.length;
for (let i = 0; i < objectArray.length; i++) {
if ((objectArray[i].age <= maxAge)) {
ageDiscrimArray.push(i)} else {
above67Array.push(i); // I know, it is a superfluity
}
}
return ageDiscrimArray;
};
console.log(makeAgeDiscrimArray(objectArray));
Run Code Online (Sandbox Code Playgroud)
该函数当前返回
[ 0, 1, 2, 3, 4 ]
我看到发生了什么,但我不完全理解为什么.
在此先感谢您的帮助!
小智 5
您正在向数组添加"i"而不是对象.改为:
for (let i = 0; i < objectArray.length; i++) {
if ((objectArray[i].age <= maxAge)) {
ageDiscrimArray.push(objectArray[i])} // <= objectArray[i]
else {
above67Array.push(objectArray[i]); // <= objectArray[i]
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
123 次 |
| 最近记录: |