在以下功能中,将括号value
中的collection[id][prop] = [value]
放在括号中与不使用括号有什么区别?
function updateRecords(id, prop, value) {
if (collection[id].hasOwnProperty(prop)) {
if(value === ""){
delete collection[id][prop];
}else if(prop == "tracks"){
collection[id][prop].push(value);
}else{ collection[id][prop]= value;
}
} else {
if(value != ""){
if(prop == "tracks"){
collection[id][prop] = [value];
}else{
collection[id][prop] = value;
}
}
}
return collection;
}
答案 0 :(得分:0)
在对象集合中,对于任何特定对象(此处将由ID标识)具有某些属性。其中之一是“轨道”,它是一种数组。在功能上 它检查“ tracks”属性,如果它是“ tracks”,则函数要确保将其设置为数组。要将其设置为数组,需要带方括号。如果该属性不是“ tracks”,则函数希望以任何形式设置值或键入其后缀。
首先,如果条件,函数检查对象是否已经存在“ tracks”属性(如果存在),然后将新值推送到现有数组。在其他情况下,“ tracks”属性不存在,因此将其设置为新数组。
所以回答您的问题,如果您想将值设置为数组,则需要使用方括号或其他任何可以声明和设置数组的方式。