循环中的jQuery循环

时间:2016-05-18 20:57:34

标签: javascript

我有一个处理2D数组的for循环:

var len = result.DATA.length;
for (i = 0; i < len; i++) {
  thickness = result.DATA[i][2];
  finish = result.DATA[i][1];
  colorName = result.DATA[i][0];
  color = '<div class="colorName"> + colorName + </div>
}

我有不同的颜色饰面,所以对于ex:Finish:Matte,我有3种颜色,对于皮革,我有5.我想在循环中运行循环,所以我可以通过完成颜色分组。不确定最好的方法是什么。任何帮助将不胜感激。

所以基本上,它应该显示如下:

  1. 磨砂 一个。红色 湾绿色
  2. 皮革 一个。蓝色 湾黄色 C。橙

1 个答案:

答案 0 :(得分:0)

我可能会创建一个具有不同饰面的对象,并循环遍历对象属性以创建输出。

let out = {};
let data = [["red","matte"],["blue","leather"],["orange","leather"],["green","matte"],["yellow","leather"]];
let list = document.getElementById("list");

for (let i = 0; i < data.length; i++) {
  let finish = data[i][1];
  let colorName = data[i][0];
  
  if (!out[finish])
    out[finish] = [];
  
  out[finish].push(colorName);
}

for(let prop in out) {
  let html = prop + ": ";
  html += out[prop].join(", ") + "<br/>";
  list.innerHTML += html;
}
<div id="list"></div>