【发布时间】:2021-11-26 17:10:59
【问题描述】:
我有这个函数,我想从函数内部传递的参数访问嵌套属性。
var objectsArr = [
{nestedobj:{property:'1'}},
{nestedobj:{property:'3'}},
{nestedobj:{property:'2'}},
{nestedobj:{property:'4'}}
];
function sortObjectsArr(objectsArray) {
if (arguments.length == 2) {
objectsArray.sort((a,b) => a[arguments[1]] - b[arguments[1]]);
}
if (arguments.length == 3) {
objectsArray.sort((a,b) => a[arguments[1]][arguments[2]] - b[arguments[1]][arguments[2]]);
}
if (arguments.length == 4) {
objectsArray.sort((a,b) => a[arguments[1]][arguments[2]][arguments[3]] - b[arguments[1]][arguments[2]][arguments[3]]);
}
//and so on and so forth
}
sortObjectsArr(objectsArr, 'nestedobj', 'property');
console.log(objectsArr);
有没有更好的方法来访问对象的属性?而不是[arguments[1]][arguments[2]][arguments[3]]....?
【问题讨论】:
标签: javascript object arguments