【问题标题】:naming variables from loop jquery从循环 jquery 中命名变量
【发布时间】:2016-01-25 01:46:00
【问题描述】:

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

没有从这一行设置变量。

最终结果应该是 我的1 = [2012,1,5,88] my2 = [2012, 1,6, 90] my3 = [2012, 5, 9, 130] 而且由于我的数组中的数据可以扩展,我无法知道我需要制作多少个新的变量数组。这就是为什么代码应该自动生成新的数组变量名,并将原始数据分成四个一组。

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

【问题讨论】:

  • 这是比上一个问题更好的开始,有一些代码。不幸的是仍然缺少关键信息....从什么中命名它们?预期的结果结构是什么?
  • 不要将数组用作关联数组,您需要将它们转换为对象字面量。
  • 好的,但是在对象字面量中,它如何自动生成键名?

标签: javascript jquery arrays


【解决方案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);  
  
}());

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

【讨论】:

  • 但是让我们说让数字不时缩放,你不会知道你需要多少个名字,为什么代码应该自动为名字生成变量。
猜你喜欢
  • 2017-12-14
  • 2018-12-07
  • 1970-01-01
  • 2019-07-05
  • 2014-06-17
  • 1970-01-01
  • 2016-11-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多