Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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 - Fatal编程技术网

Javascript 在循环中创建一个变量";至于;

Javascript 在循环中创建一个变量";至于;,javascript,Javascript,我使用一个函数将数组创建为数组 我有这样一个JSON: [ [ {"data_name":"dn1","defaut_name":"1F-27","occurrence":5}, {"data_name":"dn1","defaut_name":"20-34","occurrence":1} ],[ {"data_name":"bm1","defaut_name":"13-02","occurrence":4} ],[

我使用一个函数将数组创建为数组

我有这样一个JSON:

[
    [
        {"data_name":"dn1","defaut_name":"1F-27","occurrence":5},
        {"data_name":"dn1","defaut_name":"20-34","occurrence":1}
    ],[
        {"data_name":"bm1","defaut_name":"13-02","occurrence":4}
    ],[
        {"data_name":"dn2","defaut_name":"1F-27","occurrence":3},
        {"data_name":"dn2","defaut_name":"20-34","occurrence":1}
    ],[
        {"data_name":"bm2","defaut_name":"13-02","occurrence":4}
    ],[
        {"data_name":"bm3","defaut_name":"13-02","occurrence":3}
    ],[
        {"data_name":"bm4","defaut_name":"13-02","occurrence":3}
    ]
]
[
    [5,4,3,4,3,3],
    [1,0,1,0,0,0]
]
我想要这样的结果:

[
    [
        {"data_name":"dn1","defaut_name":"1F-27","occurrence":5},
        {"data_name":"dn1","defaut_name":"20-34","occurrence":1}
    ],[
        {"data_name":"bm1","defaut_name":"13-02","occurrence":4}
    ],[
        {"data_name":"dn2","defaut_name":"1F-27","occurrence":3},
        {"data_name":"dn2","defaut_name":"20-34","occurrence":1}
    ],[
        {"data_name":"bm2","defaut_name":"13-02","occurrence":4}
    ],[
        {"data_name":"bm3","defaut_name":"13-02","occurrence":3}
    ],[
        {"data_name":"bm4","defaut_name":"13-02","occurrence":3}
    ]
]
[
    [5,4,3,4,3,3],
    [1,0,1,0,0,0]
]
这对应于引用的串联

我尝试了一个循环,但不起作用

var data = [];
for (var i in chartData) {
    var array = [];
    for (var j in chartData[i]) {
        array.push(chartData[i][j].occurrence)
    }
    data.push(array);
}

感谢您的帮助。

您可以简单地使用您的结果来生成您想要的输出:

var chartData=[
[
{“数据名称”:“dn1”,“数据名称”:“1F-27”,“事件”:5},
{“数据名称”:“dn1”,“数据名称”:“20-34”,“出现次数”:1}
],[
{“数据名称”:“bm1”,“数据名称”:“13-02”,“出现次数”:4}
],[
{“数据名称”:“dn2”,“数据名称”:“1F-27”,“事件”:3},
{“数据名称”:“dn2”,“数据名称”:“20-34”,“出现次数”:1}
],[
{“数据名称”:“bm2”,“数据名称”:“13-02”,“出现次数”:4}
],[
{“数据名称”:“bm3”,“数据名称”:“13-02”,“事件”:3}
],[
{“数据名称”:“bm4”,“数据名称”:“13-02”,“事件”:3}
]
];
var数据=[];
用于(chartData中的var i){
var数组=[];
对于(chartData[i]中的var j){
array.push(chartData[i][j].事件)
}
数据推送(数组);
}
var newData=[[],[];
用于(数据中的var i){
newData[0].push(数据[i][0]);
newData[1].push(data[i][1]| | 0);
}

console.log(newData)这应该可以做到

let arr = [
    [
        {"data_name":"dn1","defaut_name":"1F-27","occurrence":5},
        {"data_name":"dn1","defaut_name":"20-34","occurrence":1}
    ],[
        {"data_name":"bm1","defaut_name":"13-02","occurrence":4}
    ],[
        {"data_name":"dn2","defaut_name":"1F-27","occurrence":3},
        {"data_name":"dn2","defaut_name":"20-34","occurrence":1}
    ],[
        {"data_name":"bm2","defaut_name":"13-02","occurrence":4}
    ],[
        {"data_name":"bm3","defaut_name":"13-02","occurrence":3}
    ],[
        {"data_name":"bm4","defaut_name":"13-02","occurrence":3}
    ]
]

/* this could be done more elegantly */
let l1 = arr.map( (t) => t[0]!==undefined ? t[0]["occurrence"]:0);
let l2 = arr.map( (t) => t[1]!==undefined ? t[1]["occurrence"]:0);

let result = [l1,l2];

您可以尝试使用
map
功能将输入转换为所需的输出

var obj=[
[
{“数据名称”:“dn1”,“数据名称”:“1F-27”,“事件”:5},
{“数据名称”:“dn1”,“数据名称”:“20-34”,“出现次数”:1}
],[
{“数据名称”:“bm1”,“数据名称”:“13-02”,“出现次数”:4}
],[
{“数据名称”:“dn2”,“数据名称”:“1F-27”,“事件”:3},
{“数据名称”:“dn2”,“数据名称”:“20-34”,“出现次数”:1}
],[
{“数据名称”:“bm2”,“数据名称”:“13-02”,“出现次数”:4}
],[
{“数据名称”:“bm3”,“数据名称”:“13-02”,“事件”:3}
],[
{“数据名称”:“bm4”,“数据名称”:“13-02”,“事件”:3}
]
];
var result1=obj.map(x=>x[0]。发生率);
var result2=obj.map(x=>x[1]?x[1]。出现次数:0);
var result=[result1,result2];

控制台日志(结果)JavaScript不支持真正的多维数组,但可以使用数组的数组来近似它们。要访问数组数组中的值,只需使用[]运算符两次

// Created a multinational array 
var table = new Array(10);
for(var i = 0; i < table.length; i++)
       table[i] = new Array(10);

// Initialize the array
for(var row = 0; row < table.length; row++){
    for(col = 0; col < table[row].length; col++){
        table [row][col] = row*col;
    }
}

// Use the multidimensional array to compute 2*5
var product = table [2][5];   // 10
//创建了一个多国数组
var表=新数组(10);
对于(变量i=0;i
什么是“但它不工作”意思?过滤器和减速机的完美用例。您已经有了
[[5,1]、[4]、[3,1]、…]
,只需将其转换为您想要的方式即可。