Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 变量名被附加到json中,而不是变量值_Javascript_Jquery_Arrays_Json - Fatal编程技术网

Javascript 变量名被附加到json中,而不是变量值

Javascript 变量名被附加到json中,而不是变量值,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,我从我编写的API中获取json。此json包含一些值,其中一个值应附加到另一个json。 要将数据附加到的json如下所示: originalOrder = { "nome": 1, "cognome": 2, "mail": 3, "telefono": 4, "cf": 5, "data": 6,

我从我编写的API中获取json。此json包含一些值,其中一个值应附加到另一个json。 要将数据附加到的json如下所示:

originalOrder = {
              "nome": 1,
              "cognome": 2,
              "mail": 3,
              "telefono": 4,
              "cf": 5,
              "data": 6,
              "ora": 7,
              "cellit": 8,
              "cellex": 9
          };
我需要附加的数据是:

var toAppend = data.name;
如果我回显toAppend值,它会显示正确的值。例如,假设toAppend回显Dummy数据。我希望json位于末尾:

originalOrder = {
              "nome": 1,
              "cognome": 2,
              "mail": 3,
              "telefono": 4,
              "cf": 5,
              "data": 6,
              "ora": 7,
              "cellit": 8,
              "cellex": 9,
              "dummyData": 10
          };
我还计算了数组的长度:

var lunghezza = parseInt(originalOrder.length);
lunghezza = lunghezza +2;
originalOrder.toAppend=lunghezza;
然后我将新项添加到数组中:

var lunghezza = parseInt(originalOrder.length);
lunghezza = lunghezza +2;
originalOrder.toAppend=lunghezza;
但阵列的结局如下:

originalOrder = {
                  "nome": 1,
                  "cognome": 2,
                  "mail": 3,
                  "telefono": 4,
                  "cf": 5,
                  "data": 6,
                  "ora": 7,
                  "cellit": 8,
                  "cellex": 9,
                  "toAppend": NaN
              };
因此,我有两个问题:

  • 我得到的是变量名而不是变量值
  • 我得到的不是一个数字,而是10(我也试图用parseInt强制它,但似乎没有运气)
我做错了什么

编辑: 如果我这样做

var toAppend=data.nome; log('toAppend:'+toAppend)

在console.log中:

出现:dummyData; 这是预期的行为


谢谢

originalOrder
是一个对象,因此,要获得键的数量(即“对象的长度”),您需要:

Object.keys(originalOrder).长度

要添加一个值为var
的键以显示
,您需要编写:

originalOrder[toAppend]=lunghezza

originalOrder
是一个对象,因此,要获取键的数量(即“对象的长度”),您需要:

Object.keys(originalOrder).长度

要添加一个值为var
的键以显示
,您需要编写:

originalOrder[toAppend]=lunghezza

要使用变量值作为对象的键,可以在javascript中使用方括号

const obj = {
   "hello": "world"
};
const key = "value";
obj[key] = "any value";
console.log(obj)
将打印

{
   "hello": "world",
   "value": "any value"
}
2
此外,不能对对象使用
length
属性。但是,您可以获取对象的关键点列表,然后获取长度

console.log(Object.keys(obj).length);
将打印

{
   "hello": "world",
   "value": "any value"
}
2

希望这有助于使用变量值作为对象的键,您可以在javascript中使用方括号

const obj = {
   "hello": "world"
};
const key = "value";
obj[key] = "any value";
console.log(obj)
将打印

{
   "hello": "world",
   "value": "any value"
}
2
此外,不能对对象使用
length
属性。但是,您可以获取对象的关键点列表,然后获取长度

console.log(Object.keys(obj).length);
将打印

{
   "hello": "world",
   "value": "any value"
}
2

希望这有帮助

originalOrder是一个对象(字典)。如果使用.length,则对象将返回undefined,如果将数字添加到undefined,则始终返回NaN。能否显示
console.log
dummyData
显示的内容?如果要添加名为
voce
的属性,是否希望显示不同的键?而且,
originalOrder
是一个对象,而不是数组。它没有
length
属性。如果要计算对象中的键,请使用
object.keys(originalOrder).length
纠正前面注释中描述的长度问题后,
originalOrder[toAppend]=lunghezza@casraf请看我的编辑尝试一下@Nick和我一起提出的建议,我想这会让你达到你想要达到的目标。originalOrder是一个对象(字典)。如果使用.length,则对象将返回undefined,如果将数字添加到undefined,则始终返回NaN。能否显示
console.log
dummyData
显示的内容?如果要添加名为
voce
的属性,是否希望显示不同的键?而且,
originalOrder
是一个对象,而不是数组。它没有
length
属性。如果要计算对象中的键,请使用
object.keys(originalOrder).length
纠正前面注释中描述的长度问题后,
originalOrder[toAppend]=lunghezza
@casraf看我的编辑尝试一下@Nick和我一起提出的建议,我想这会让你达到你想要达到的目标。谢谢,这正是我们在对问题alreadythanks的评论中所说的,这正是我们在对问题alreadythanks的评论中所说的,这正是我们在评论中所说的。谢谢,这正是我们在评论中所说的。