将JSON节点名称设置为变量值 我把大部分时间都花在了java和C++语言上,但是我想去读JavaScript。我试图实现的是一种通过传递的变量值设置父节点名称的方法。我正在使用Firebase,如果这对代码有影响的话,但我不认为会有影响 var parent_node_name = "EPLU200"; var onComplete = function(error) { if (error) { console.log('Synchronization failed'); } else { console.log('Synchronization succeeded'); } }; // update adds the data without replacing all of the other nodes myFirebaseRef.update({ parent_node_name: { // trying to change this part to not save as "parent_node_name" id2: "1175", // but instead as "EPLU200" ... } }, onComplete);

将JSON节点名称设置为变量值 我把大部分时间都花在了java和C++语言上,但是我想去读JavaScript。我试图实现的是一种通过传递的变量值设置父节点名称的方法。我正在使用Firebase,如果这对代码有影响的话,但我不认为会有影响 var parent_node_name = "EPLU200"; var onComplete = function(error) { if (error) { console.log('Synchronization failed'); } else { console.log('Synchronization succeeded'); } }; // update adds the data without replacing all of the other nodes myFirebaseRef.update({ parent_node_name: { // trying to change this part to not save as "parent_node_name" id2: "1175", // but instead as "EPLU200" ... } }, onComplete);,javascript,json,firebase,nosql,Javascript,Json,Firebase,Nosql,该操作保存到我的Firebase服务器很好,但问题是传递变量的实际值,而不是读取变量名 JavaScript中有什么解决方法吗?我试图搜索它,但不知道该怎么称呼它。取决于环境(即节点?) 请参阅MDN的doumentation中注释为计算属性名称(ES6)的代码 如果这不起作用,你必须这样做 var obj = {}; obj[parent_node_name] = { id2: "1175", ... }; myFirebaseRef.update(obj, onComplet

该操作保存到我的Firebase服务器很好,但问题是传递变量的实际值,而不是读取变量名


JavaScript中有什么解决方法吗?我试图搜索它,但不知道该怎么称呼它。

取决于环境(即节点?)

请参阅MDN的doumentation中注释为
计算属性名称(ES6)
的代码

如果这不起作用,你必须这样做

var obj = {};
obj[parent_node_name] = {
    id2: "1175",
    ...
};
myFirebaseRef.update(obj, onComplete);

可能是复制品,我意识到它非常相似。我很抱歉有这么一个难以捉摸的问题。我不知道他们有一个完整的文档专门介绍这样的内容,作为旁注:将父节点名称与其包含的数据分离通常是一个很好的做法-硬编码固定名称通常会导致自己陷入困境。如果你有一个“通用”节点名,那么你可以很容易地在其他节点中保留对它的引用,如果它的一个子节点需要更新,这可以在不必更新节点引用的任何其他位置的情况下完成。我需要的正是[parent_node_name]文本。谢谢
var obj = {};
obj[parent_node_name] = {
    id2: "1175",
    ...
};
myFirebaseRef.update(obj, onComplete);