从循环 jQuery 命名变量

naming variables from loop jquery

本文关键字:变量 jQuery 循环      更新时间:2023-09-26

这是 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])

我的第二个控制台.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]而且由于我的数组中的数据可以扩展,我将无法知道我需要创建多少个新的变量数组。这就是为什么代码应该自动生成新的数组变量名称,并将原始数据分成四个一组。

然后,我必须将每个新创建的变量分别传递到我的图表中。

你需要的是一个对象,而不是一个数组。对象具有可用作标识符的键。

;(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);  
  
}());

另外,我注意到您的一些数字以0开头。JS会将它们视为八进制而不是十进制。删除0,使它们成为小数,或者如果要保留它,请改为字符串。