When attempting to create a dynamic key for a JavaScript object, using this syntax <pre>jsObj{'key' + i} = 'example' + 1;</pre> will not work. The correct approach employs square brackets:
jsObj['key' + i] = 'example' + 1;
In JavaScript, arrays are a specialized type of object, with the distinction being that they maintain a length property that reflects the count of numeric properties (indices) plus one. This special behavior is not mimicked by standard objects, but the square bracket operator works identically on both types.
For setting a property with a numeric key on an array instance, the length property will be automatically updated to reflect the largest numeric key. However, for a plain object, no such update occurs.
It's important to note that serializing an array instance to JSON only includes the numerically-named properties, excluding any others.
In ES6, you can use Computed Property Names for a more concise syntax:
var key = 'DYNAMIC_KEY',
obj = {
[key]: 'ES6!'
};
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3