无法通过函数的参数访问对象的属性

保罗

为什么函数中的 array[i].key (where key === "surname") 不起作用,同时 array[i].surname 完美地工作?

let objects = [
    { name: 'Jack', surname: 'Jackson' },
    { name: 'Ivar', surname: 'Bjornsson' },
    { name: 'John', surname: 'Mickelson' }
];

function sort (array, key) {
    for (let i = 0; i < array.length; i++) {
        console.log(array[i].key)// Somehow the "key", which is equal to "surname" doesn't work;
        // here will be undefined;
        console.log(array[i].surname)//But here writing 'surname' directly works fine;
        // the correct answer will be there;
        console.log(key)// However, key === surname
    }
}

sort(objects, 'surname');

破碎的

您必须使用方括号访问该属性:

let objects = [
    { name: 'Jack', surname: 'Jackson' },
    { name: 'Ivar', surname: 'Bjornsson' },
    { name: 'John', surname: 'Mickelson' }
];

function sort (array, key) {
    for (let i = 0; i < array.length; i++) {
        console.log(array[i][key])// Somehow the "key", which is equal to "surname" doesn't work;
        // here will be undefined;
        console.log(array[i].surname)//But here writing 'surname' directly works fine;
        // the correct answer will be there;
        console.log(key)// However, key === surname
    }
}

sort(objects, 'surname');

这个

array[i].key

相当于

array[i]['key']

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当那些 input$... 对象“无法”通过函数的参数提供时,如何访问函数中的 input$... 对象

无法访问函数外的对象属性

我的函数返回一个对象,但是我无法通过返回值访问该对象的属性。

Vanilla JavaScript:如何通过函数参数访问DOM元素属性?

通过 C++ 函数对象类访问参数

TypeError:“在严格模式函数或调用它们的参数对象上,可能无法访问'caller','callee'和'arguments'属性”

Javascript:无法通过Ajax调用访问对象属性

无法通过ReactJS中的道具访问对象属性

通过参数访问对象的“自身”

无法通过函数中的变量更改对象的属性/值

通过对象访问成员函数

无法从 JavaScript 对象访问属性

无法访问对象属性

通过对象属性访问Python对象列表

无法通过REACT中的JSON调用访问单个对象中的嵌套对象属性

如何从嵌套对象函数访问对象属性?

从函数体内访问函数对象的属性

装箱后,无法通过将对象作为函数的参数传递来更改对象值

Java通过AspectJ访问函数调用参数

通过名称访问动态对象属性

通过this和ObjectName访问对象属性

通过索引访问非数字对象属性?

通过分配访问对象属性

通过键数组访问对象的属性

通过使用“ $ this”动态访问对象属性

通过对象属性访问JSON数组

Javascript通过其属性访问主对象

尽管提供了类型,但是Dart无法访问通用类型函数参数的属性

通过合成创建的对象上的方法无法访问所有属性