Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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_Google Visualization - Fatal编程技术网

如何在JavaScript中为对象数组创建构造函数?

如何在JavaScript中为对象数组创建构造函数?,javascript,arrays,google-visualization,Javascript,Arrays,Google Visualization,我试图在运行时创建一个对象,用于表示Google图表的垂直轴刻度 给定一个MIDI()音符编号nn的数组,其中范围由用户定义,我需要将其转换为形式为{v:nn,f:notes[nn]}的对象数组 (notes是现有的文本名称数组,如nn=60的“C4”) 相应的nn值为: nnArr = [21, 22, 23, 24, ... , 108] 最终结果如下: vAxisTicks= [ {v: 56, f: notes[56-21]}, {v: 57, f: notes[57-21},

我试图在运行时创建一个对象,用于表示Google图表的垂直轴刻度

给定一个MIDI()音符编号nn的数组,其中范围由用户定义,我需要将其转换为形式为{v:nn,f:notes[nn]}的对象数组

(notes是现有的文本名称数组,如nn=60的“C4”)

相应的nn值为:

nnArr = [21, 22, 23, 24, ... , 108] 
最终结果如下:

vAxisTicks= [
  {v: 56, f: notes[56-21]}, {v: 57, f: notes[57-21}, {v: 58, f: notes[58-21]}
]


我认为一种方法是将数组与.map一起使用,但我看不出如何使用它来获取对象中的键,尽管对文献进行了多次尝试

如果我理解正确,您希望这样生成吗?:

const notes={};
常量字母=['A'、'A'、'B'、'C'、'C'、'D'、'D'、'E'、'F'、'F'、'G'、'G';
设num=0;
for(设i=21,y=0;i=letters.length-1?y=0:y++){
如果(字母[y]=“C”)num++;
注释[i]=字母[y]+数量;
}
//console.log(注释)
const output=Object.entries(notes.map)([key,val])=>{
返回{v:key,f:val}
});
console.log(输出)
//它可以在一个循环中生成:
/*
常量notesar=[];
for(设i=21,y=0;i=letters.length-1?y=0:y++){
如果(字母[y]=“C”)num++;
notesArr.push({v:i,f:letters[y]+num});
}
console.log(notesar)
*/

。作为控制台包装{max height:100%!重要;top:0;}
太棒了-非常感谢。我测试过它,我当然可以使用它。现在我要试着多了解一点!不客气-我在回答中添加了新的评论,希望能让我的回答更清楚。我还试着编辑你的问题(现在是编辑评论)-一般来说,试着给出问题中的所有输入和输出数据,这样人们就不必猜测了-
vAxisTicks= [
  {v: 56, f: notes[56-21]}, {v: 57, f: notes[57-21}, {v: 58, f: notes[58-21]}
]