以下问题来自https://stackoverflow.com/questions/34981100/jquery-loop-to-generate-variables
所以我试图在我的函数中新创建的数组中创建变量。然后我将不得不将每个新创建的变量调用到我的图表中。
var digits = [2012, 01, 5, 88, 2012, 01, 6, 90, 2012, 05, 9, 130];
size = 3;
data = []
while (digits.length > 0)
data.push(digits.splice(0, size));
var mysize = data.length;
for (i = 0; i < data.length; i++) {
x = 0
console.log("This is set " + i)
console.log('This is the data for array ' + i + '\n ' + data[i])
for (j = 0; j < 3; j++)
console.log(data[i][j])
我的第二个console.log语句以四个为一组打印出数组。我需要命名每个数组,然后我需要能够调用我的图表中的每个单独的数组,这是在一个单独的函数中。
现在每个数组都是从
行命名的console.log('This is the data for array ' + i + '\n ' + data[i])
没有从此行设置变量。
最终结果应该是 my1 = [2012,1,5,88] my2 = [2012,1,6,90] my3 = [2012,5,9,130] 由于我的数组中的数据可以扩展,我无法知道我需要制作多少个新的变量数组。这就是为什么代码应该自动生成新的数组变量名,并将原始数据分成四组。
然后我必须将每个新创建的变量分别传递到我的图表中。
答案 0 :(得分:1)
您需要的是一个对象,而不是一个数组。对象具有可用作标识符的键。
;(function(){
'use strict';
const CHUNK_SIZE = 3;
let digits = [2012, 1, 5, 88, 2012, 1, 6, 90, 2012, 5, 9, 130];
let names = ['foo', 'bar', 'baz'];
let data = {};
for(let i = 0; digits.length; i++)
data[names[i]] = digits.splice(0, CHUNK_SIZE);
console.log(data.foo);
console.log(data.bar);
console.log(data.baz);
}());
&#13;
此外,我注意到您的部分号码以0
开头。 JS会将它们视为八进制而不是十进制。删除0
以使它们成为小数,或者如果要保留它,请改为使用它们。