我想知道是否有更短/更好的方法来循环访问包含{key:[array],key2:[array]}的数组

var ray = {'A':['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'],
'B': ['m', 'n', 'b', 'v', 'c', 'x', 'z'],
'C': ['o', 'i', 'd', 'f', 'j', 'a', 'l', 'a', 'd']
}


此刻我有

    function(data) {
        var ray = data.result;
        $.each(ray, function() {
          if(this == ray.A){
            $.each(this, function(i, v) {
              $("#list1").append('<span class="tag">' + v + "</span>");
            });
          }
          if(this == ray.B){
            $.each(this, function(i, v) {
              $("#list2").append('<span class="tag2">' + v + "</span>");
            });
          }

        });
    }


等等..

有没有更好的方法来做到这一点而又没有过多的重复?

最佳答案

根据您的数据类型,通常可以执行以下操作...

Object.keys(ray).forEach(k => ray[k].forEach(e => doSomethingWith(k,e)))

关于javascript - 使用js或jquery遍历数组并追加到html的更好方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44477152/

10-11 09:20