javascript中的全局变量?

ajs*_*sie 3 javascript jquery

我有这个代码:

    $(".link").each(function() {
            group += 1;
            text += 1;
            var links = [];
            links[group] = [];

            links[group][text] = $(this).val();
        }
    });

    var jsonLinks = $.toJSON(links);
Run Code Online (Sandbox Code Playgroud)

在它循环每个.link之后,它将退出每个循环并将数组'links'编码为json.但是数组'links'是每个循环中的局部变量.我怎样才能让它在循环之外变得全球化?

cle*_*tus 9

links在循环外定义:

var links = [];
$(".link").each(function() {
  group += 1;
  text += 1;
  links[group] = [];
  links[group][text] = $(this).val();
});
var jsonLinks = $.toJSON(links);
Run Code Online (Sandbox Code Playgroud)

我还应该指出,这并没有多大意义,因为你将最终得到元素7,例如,作为一个数组,其中包含一个元素(索引为7).这真的是你想要的吗?

我想你想要的是一系列价值观.如果是这样,为什么不使用map()

var links = $(".link").map(function(i, val) {
  return $(val).val();
});
Run Code Online (Sandbox Code Playgroud)