Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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数据未附加到数组_Javascript_Arrays_Object - Fatal编程技术网

JavaScript数据未附加到数组

JavaScript数据未附加到数组,javascript,arrays,object,Javascript,Arrays,Object,我有一个值的对象,我试图用对象中的键和值填充两个数组 我的目标: obj = {19455746: 7476, 22489710: 473} 尝试附加数据的循环: var sensorNameArray = []; var sensorDataArray = []; for(var i in obj) { sensorNameArray.push[i]; sensorDataArray.push[obj[i]]; } 目前,这两个阵列的打印结果为空。我的预期结果如下: sensorN

我有一个值的对象,我试图用对象中的键和值填充两个数组

我的目标:

obj = {19455746: 7476, 22489710: 473}
尝试附加数据的循环:

var sensorNameArray = [];
var sensorDataArray = [];
for(var i in obj) {
  sensorNameArray.push[i];
  sensorDataArray.push[obj[i]];
}
目前,这两个阵列的打印结果为空。我的预期结果如下:

sensorNameArray = [19455746, 22489710];
sensorDataArray = [7476, 473];

push是一个函数,不是数组,它使用括号而不是括号:

for(var i in obj) {
    sensorNameArray.push(i);
    sensorDataArray.push(obj[i]);
}

push是一个函数,不是数组,它使用括号而不是括号:

for(var i in obj) {
    sensorNameArray.push(i);
    sensorDataArray.push(obj[i]);
}
不同的语法(在我看来更优雅):

不同的语法(在我看来更优雅):


您正在使用方括号[] 但是array.push()是一个函数,所以使用圆括号代替

请尝试以下代码

   obj = {19455746: 7476, 22489710: 473};
    var sensorNameArray = [];
    var sensorDataArray = [];
    for(var i in obj) {
      sensorNameArray.push(i);
      sensorDataArray.push(obj[i]);
    }

这是工作和测试。

您正在使用方括号[] 但是array.push()是一个函数,所以使用圆括号代替

请尝试以下代码

   obj = {19455746: 7476, 22489710: 473};
    var sensorNameArray = [];
    var sensorDataArray = [];
    for(var i in obj) {
      sensorNameArray.push(i);
      sensorDataArray.push(obj[i]);
    }

这正在运行并经过测试。

语法
push[]
不会调用函数,它会尝试访问函数对象的属性。它不会抛出错误,因为在Javascript中,函数是对象,并且该语法在技术上是有效的


因此,只需将语法修改为
push()
,即可实际调用函数。

语法
push[]
不会调用函数,它会尝试访问函数对象的属性。它不会抛出错误,因为在Javascript中,函数是对象,并且该语法在技术上是有效的


因此,只需将语法修改为
push()
,即可实际调用函数。

处理JSON的最佳方法是使用lodash或下划线

_.key()和0.value是满足您需求的函数

例如:

若您想按自己的方式进行,那个么可以使用括号作为Javascript的内置推送函数,将元素插入数组中

正确答案是:

for(var i in obj) {
    sensorNameArray.push(i);
    sensorDataArray.push(obj[i]);
}

处理JSON的最佳方法是使用lodash或下划线

_.key()和0.value是满足您需求的函数

例如:

若您想按自己的方式进行,那个么可以使用括号作为Javascript的内置推送函数,将元素插入数组中

正确答案是:

for(var i in obj) {
    sensorNameArray.push(i);
    sensorDataArray.push(obj[i]);
}

你的语法不正确,应该是
push()
,而不是
push[]
哈哈,谢谢,不知道我怎么没发现。现在一切都好了。@MikaelLennholm如果你想添加这条评论作为回答,我会接受。好的,我会接受!你的语法不正确,应该是
push()
,而不是
push[]
哈哈,谢谢,不知道我怎么没发现。现在一切都好了。@MikaelLennholm如果你想添加这条评论作为回答,我会接受。好的,我会接受!这不是JSONYa,我只是建议使用其他方法来访问对象,所以将来可能会有所帮助。还指定了对当前代码的更正。这不是JSONYa,我只是建议使用其他方法来访问对象,所以将来可能会有所帮助。还规定了当前代码的更正。