对象和我的代码

Objects and my code

本文关键字:代码 我的 对象      更新时间:2023-09-26
var friends = {
    bill: {
        firstName: 'bill',
        lastName: 'Green',
        number: ('812381293'),
        address : ['chicken st 12','rigth corner']
        }
    steve: {
       firstName: 'steve',
        lastName: 'Brown',
        number: ('812222381293'), 
        address : ['chicken st 12','rigth corner']
        }
};
var list = function(friends) {
    for (var name in friends) {
        console.log(name);
 }
}
var search = function (friends) {
    for (var key in friends) {
        if ( friends[key].firstName === name) {
            console.log(friends[key]);
            return friends[key];
        } 
    } 
}

我有一个语法错误:

意外的标识符

我的代码有什么问题?

以下是我在当前任务中需要执行的操作:

定义一个采用单个参数 name 的函数搜索。如果传递给函数的参数与好友中的任何名字匹配,则它应将该好友的联系信息记录到控制台并返回。

您缺少逗号:

    }, // <--- this!
steve: {

并将函数的参数更改为 name ,因为您应该查找它。

var search = function (name) { // change friends to name!
    for (var key in friends) {
        if ( friends[key].firstName === name) {
            console.log(friends[key]);
            return friends[key];
        } 
    } 
}

工作代码:

var friends = {
        bill: {
            firstName: 'bill',
            lastName: 'Green',
            number: ('812381293'),
            address: ['chicken st 12', 'rigth corner']
        },
        steve: {
            firstName: 'steve',
            lastName: 'Brown',
            number: ('812222381293'),
            address: ['chicken st 12', 'rigth corner']
        }
    },
    list = function (friends) {
        for (var name in friends) {
            console.log(name);
        }
    },
    search = function (name) {
        for (var key in friends) {
            if (friends[key].firstName === name) {
                console.log(friends[key]);
                return friends[key];
            }
        }
    };
document.write('<pre>' + JSON.stringify(search('steve'), 0, 4) + '</pre>');