sách gpt4 ai đã đi

javascript: collection[id][prop] = collection[id][prop] || [] // Vấn đề khi gán mảng rỗng cho đối tượng

In lại 作者:行者123 更新时间:2023-12-02 20:52:45 29 4
mua khóa gpt4 Nike

所以我有一个代表专辑信息的 JSON 对象。给定“function updateRecords(id, prop, value)”我希望能够更新每个条目。正确的完成代码如下。
我得到了指示,粗体部分,我不明白:

If prop is "tracks" but the album doesn't have a "tracks" property, create an empty array before adding the new value to the album's corresponding property.

解决方案是:

collection[id][prop] = collection[id][prop] || []

所以我将其设置为等于其自身或空白数组?我不明白那里的逻辑。情况:我有一个奇异值,我想分配给一个对象属性。但我希望该值位于数组中,以便以后如有必要可以为其分配更多值。好吧,太好了,我明白了。但是,如果我想创建一个数组,为什么我不能只说 collection[id][prop] = []...“or”的作用是什么?

完整问题来自:https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/basic-javascript/record-collection

var collection = {
2548: {
album: "Slippery When Wet",
artist: "Bon Jovi",
tracks: [
"Let It Rock",
"You Give Love a Bad Name"
]
},
2468: {
album: "1999",
artist: "Prince",
tracks: [
"1999",
"Little Red Corvette"
]
},
1245: {
artist: "Robert Palmer",
tracks: [ ]
},
5439: {
album: "ABBA Gold"
}
};


function updateRecords(id, prop, value) {
if(value === "") delete collection[id][prop];
else if(prop === "tracks") {
collection[id][prop] = collection[id][prop] || []; //This line here I don't understand
collection[id][prop].push(value);
} khác {
collection[id][prop] = value;
}

return collection;
}

1 Câu trả lời

|| 运算符从给定的操作数中返回第一个 truthy 值。如果collection[id][prop]有一个数组对象作为其值,那么该数组对象将被视为真实值,并且该值将从表达式返回.

nếu nhưcollection[id][prop]Đúng未定义,即缺少数组,那么它将被视为falsy值第二个操作数空白数组对象将被分配给 collection[id][prop] .

在下面的示例代码片段中,|| 运算符返回空白数组对象,因为第一个操作数是 không xác định,这将被视为falsy值:

const val = undefined || [];
console.log(val);

|| 是一个短路运算符,如果第一个操作数是 truthy,它不会检查第二个运算符,而是返回第一个:

const val = [1, 2, 3] || [];
console.log(val)

关于javascript: 集合[id][prop] = 集合[id][prop] || []//将空数组分配给对象时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61565775/

29 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com