JavaScript中如何通过代码向已定义的const数组添加新对象
问题原因梳理
const声明的数组仅禁止重新为变量赋值新的数组/其他值,数组自身的元素增删改操作完全合法,你选择用push方法的思路是正确的,问题出在以下几点:- 你定义了
addCustomWord函数后没有主动调用,代码不会自动执行新增逻辑 - 你向
words中push的是words2这个数组,会导致插入嵌套数组,而非符合结构要求的独立单词对象 - 函数声明的
object参数没有被使用,没有实现传入自定义对象新增的能力
- 你定义了
修复方案
最简直接实现
如果只需要一次性新增固定的测试对象,直接操作即可:
words.push({ dutch: "testDutch", english: "testEnglish", dutchDescription: "dutchDiscriptionTest", englishDescription: "englishDiscriptionTest", isknown: false });
可复用函数实现
如果需要保留函数实现多次调用新增的能力,修改代码如下:
function addCustomWord(object) { // 直接将传入的合法对象追加到原数组末尾 words.push(object); } // 必须主动调用函数,传入要新增的对象,才会触发新增操作 addCustomWord({ dutch: "testDutch", english: "testEnglish", dutchDescription: "dutchDiscriptionTest", englishDescription: "englishDiscriptionTest", isknown: false });
结果验证
执行新增逻辑后,可通过以下代码确认操作成功:
// 输出数组长度,原长度为3,新增成功会输出4 console.log(words.length); // 输出数组最后一个元素,即你新增的对象 console.log(words[words.length - 1]);
内容的提问来源于stack exchange,提问作者AntonyPNT
相关产品推荐
相关产品推荐

