如何在没有索引键的情况下推送JSON数组?

问题描述

我对 JavaScript 来说还很陌生,需要创建一个 JSON ,其中包含键和值的数量(推送到变量newWord中),而无需分开他们。问题是我不知道它的长度是多少(为此,我正在使用for循环来推送每个键的名称和值):

    let langName = document.querySelectorAll('.langName');
    let langInput = document.querySelectorAll('.langInput');
    let newWord = new Array()
    for (let i = 0; i < langName.length; i++) {
        let l = langName[i].value;
        let w = langInput[i].value
        newWord.push({[l]: w})
    }
    firebase.database().ref(`content/words/`).push(
        newWord
    )

所以,我现在的结果是:

enter image description here

我想要的结果是:

enter image description here

有人知道我该如何摆脱索引(0、1)并按下带有字符串值的字符串键?

编辑:我希望for循环添加到此数组中的同一对象,而不是在其中内部创建新对象。

谢谢! ?

解决方法

push用于插入Firebase数据库的列表中。使用set可以将其存储为键值对象。

let langName = document.querySelectorAll('.langName');
let langInput = document.querySelectorAll('.langInput');
let newWord = {};
for (let i = 0; i < langName.length; i++) {
    let l = langName[i].value;
    let w = langInput[i].value
    newWord[l] =  w;
}
firebase.database().ref(`content/words/`).set(
    newWord
)