javascript - 在对象创建中运行循环

标签 javascript loops

我知道这是完全错误的,但我被困住了。

我有一个对象数组。

由此我想创建 3 个对象。

创建的第一个对象我需要一个包含原始对象中所有“uppVal”值的数组。

创建的第二个对象需要“midVal”值,第三个对象需要“lowval”值

我知道这是错误的

outputData.push({
    dataNum: []
    for (var n = 0; n < data.length; n++) {
      dataNum.push(data[n][key])
    }
  })

但我试图在创建对象时获取值

var outputData = [];

data = [{
    "uppVal": 68,
    "midVal": 34,
    "lowVal": 4,
  },
  {
    "uppVal": 68,
    "midVal": 34,
    "lowVal": 4,
  },
  {
    "uppVal": 68,
    "midVal": 34,
    "lowVal": 4,
  },
  {
    "uppVal": 68,
    "midVal": 34,
    "lowVal": 4,
  },
  {
    "uppVal": 68,
    "midVal": 34,
    "lowVal": 4,
  },
  {
    "uppVal": 68,
    "midVal": 34,
    "lowVal": 4,
  }
]

titlesArr = ['uppVal', 'midVal', 'lowVal']

for (var i = 0; i < 3; i++) {
  var counter = 0
  var key = titlesArr[counter]
  outputData.push({
    dataNum: []
    for (var n = 0; n < data.length; n++) {
      dataNum.push(data[n][key])
    }
  })
  counter++
}

console.log(outputData);

最佳答案

所以你基本上想将 data[index][key] 切换到 outputData[key][index]:

data = [ { "uppVal": 68, "midVal": 34, "lowVal": 4 },
         { "uppVal": 68, "midVal": 34, "lowVal": 4 },
         { "uppVal": 68, "midVal": 34, "lowVal": 4 },
         { "uppVal": 68, "midVal": 34, "lowVal": 4 },
         { "uppVal": 68, "midVal": 34, "lowVal": 4 },
         { "uppVal": 68, "midVal": 34, "lowVal": 4 } ]
         
outputData = { uppVal: [], midVal: [], lowVal: [] }

for (var i = 0; i < data.length; i++) 
{
    outputData.uppVal[i] = data[i].uppVal
    outputData.midVal[i] = data[i].midVal
    outputData.lowVal[i] = data[i].lowVal
}

console.log(outputData)

关于javascript - 在对象创建中运行循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46352137/

相关文章:

sql - 无限循环触发器

空白页地址栏中的 JavaScript

javascript - 按钮上的文字颜色会发生变化,但并非每次都如此

Javascript - EventListener 在外部 js 文件中不起作用

css - 使用循环向多个 HTML 元素添加类

php - 如何以 2 组为一组回显结果?

javascript - Cardinal.continue 在 IE 11 中不起作用?

javascript - d3.select...相当于 jQuery.children()

excel - For-Next 循环使用月末日期作为迭代

javascript - forEach 循环不更新对象值