首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在向新字符串中添加对象时获取“未定义”

在向新字符串中添加对象时获取“未定义”
EN

Stack Overflow用户
提问于 2018-04-24 09:19:24
回答 4查看 95关注 0票数 0

我有一系列的对象(学生的名字,成绩等等)我希望在我创建的新的空数组中添加名为"Jody“(例如)的任何对象。但是,当我试图只打印新对象数组的名称时,我会得到undefined。注:我不能使用let,const等。

知道我在这里错过了什么吗?

代码语言:javascript
复制
var student;
var newStudents = [];
var students = [{
    name: 'Odelia',
    track: 'Accounting',
    achievements: '26',
    points: '2260'
}, {
    name: 'Jody',
    track: 'Web Design',
    achievements: '12',
    points: '890'
}, {
    name: 'Yann',
    track: 'Javascript',
    achievements: '10',
    points: '2266'
}, {
    name: 'Max',
    track: 'Marketing',
    achievements: '13',
    points: '1010'
}, {
    name: 'Jody',
    track: 'iOS',
    achievements: '9',
    points: '1002'
}, ]

for (var i = 0; i < students.length; i++) {
    student = students[i];
    if (student.name === 'Jody') {
        newStudents.push(student);
    }
}

console.log(newStudent.name);

输出:

代码语言:javascript
复制
    0: 
      achievements: "12"
      name: "Jody"
      points: "890"
      track: "Web Design"
      __proto__: Object
    1: 
      achievements: "9"
      name: "Jody"
      points: "1002"
      track: "iOS"
      __proto__: Object
      length: 2
      __proto__: Array(0)

    undefined
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-04-24 09:23:22

应该是newStudents而不是newStudent

代码语言:javascript
复制
    console.log(newStudents[0].name);

另外,newStudents是数组。

票数 4
EN

Stack Overflow用户

发布于 2018-04-24 09:26:52

您正在尝试在循环之外打印名称。再检查一遍。

应该是这样的:

代码语言:javascript
复制
for (var i = 0; i < students.length; i++) {
    student = students[i];
    console.log(newStudent.name);
    if (student.name === 'Jody') {
        newStudents.push(student);
    }
}
票数 0
EN

Stack Overflow用户

发布于 2018-04-24 09:32:56

试试看,这是我的工作;

代码语言:javascript
复制
var newStudents = [];
var student;
        var students = [
          {name:'Odelia',
           track:'Accounting',
           achievements:'26',
           points: '2260'
          },
          {name:'Jody',
           track:'Web Design',
           achievements:'12',
           points: '890'
          },
          {name:'Yann',
           track:'Javascript',
           achievements:'10',
           points: '2266'
          },
          {name:'Max',
           track:'Marketing',
           achievements:'13',
           points: '1010'
          },
          {name:'Jody',
           track:'iOS',
           achievements:'9',
           points: '1002'
          },
        ]
          for(var i=0;i<students.length;i++){
          student = students[i];
          if(student.name === 'Jody'){
            newStudents.push(student);
          }
        }
    console.log(newStudents[0].name);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49997876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档