如何在javascript中读取每个多维数组

How to read each of a multidimensional array in javascript

本文关键字:数组 读取 javascript      更新时间:2023-09-26

我需要这个神奇的社区的帮助:)

也许我的方式声明,创建我的数组是错误的,但我添加内容到数组的数组,我不能得到任何东西。

这是我的代码(用我当前的代码编辑)

var arr_size = raw_data.length;
var label_ar = {};
$.each(raw_data, function() {
    var key = this.label;
  if (typeof label_ar[key] === 'undefined'){
            label_ar.key = {};
            label_ar.key.label = this.label;
            label_ar.key.Analyze = 0;
            label_ar.key.Verify = 0;
            label_ar.key.Closed = 0;
            label_ar.key.Build = 0;
            label_ar.key.Integrate = 0;
        //  console.dir(label_ar.key);
    }
    c_state = (this.state);
    label_ar.key[c_state] = (parseInt(this.value));
});
$.each(label_ar, function(i,v) {
    // console.dir(i, e);
    console.log("loop");
    $.each(label_ar[i], function(i,v) {
            console.log(i, v);
        });
    });

我注意到了控制台。Dir显示内容,但首先它显示[]

和长度label_ar。长度等于零(不确定如何)

这是我控制台的快照控制台

我做错了什么?

看起来label_ar只有最后一个循环的内容

这是raw_dataraw_data

我的输出是许多数组,类似于:标签-"CC"分析- 1验证- 2关闭- 4Build - 0

因此,我将提出一些样式建议-希望您会发现这对您有所帮助。假设我不知道原始数据中有什么,除了它是一个数组。当然,您不需要提前声明数组,您通常应该在javascript

中使用驼峰大小写。
// the map function takes an array, and returns an array
// the first argument, d, is each element of raw data
var labelAr = rawData.map(function(d){
    // we can create a multidimensional array by returning an
    // Array literal, however you should really use an object
    // if you plan to have non numeric keys
    return {
       Integrate: 0,
       Analyze: 0,
       Closed: 0,
       Verify: 0,
       Build: 0,
       Label: d.label // this can come from d
       Value: d.value // this can come from d
    };
});

除此之外,如果不了解raw_data

中的内容,就很难帮助您。

设法"修复"它,感谢我看到的最后一个响应,我需要使用的对象不是数组的数组,而是数组的对象

如果有人有更好、更有效的解决方案,欢迎。
var arr_size = raw_data.length;
var label_ar = {};
$.each(raw_data, function() {
  if (typeof label_ar[this.label] == 'undefined'){
            label_ar[this.label] = {};
            label_ar[this.label].label = this.label;
            label_ar[this.label].Analyze = 0;
            label_ar[this.label].Verify = 0;
            label_ar[this.label].Closed = 0;
            label_ar[this.label].Build = 0;
            label_ar[this.label].Integrate = 0;
    }
    label_ar[this.label][this.state] = (parseInt(this.value));
});
 console.dir(label_ar);

它现在正在工作:)