首页 > 解决方案 > 如何在没有索引键的情况下推送 JSON 数组?

问题描述

我对JavaScript很陌生,需要创建一个带有多个键和值(推入变量)的JSONnewWord,而不是将它们分开。问题是我不知道它的长度是多少(因为我正在使用 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
    )

所以,我现在的结果是:

在此处输入图像描述

虽然我想要的结果是:

在此处输入图像描述

有谁知道我如何摆脱索引 (0, 1) 并使用字符串值推送字符串键?

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

谢谢!

标签: arraysjsondatabasefirebasepush

解决方案


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
)

推荐阅读