Javascript 在循环中创建一个变量";至于;
我使用一个函数将数组创建为数组 我有这样一个JSON: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} ],[
[
[
{"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]、…]
,只需将其转换为您想要的方式即可。