javascript - 创建一个数组的数组

标签 javascript arrays push

我有以下数组

var a = ["Banana/hgd/kjjkds", "Orange/kldj/kdl", 
         "Apple/jlds/ldks", "Mango/dsfj/dskj"]

现在我想按如下方式重新创建它并进行输出

{
    "a1" : "Banana",
    "a2" : "hgd",
    "a3" : "kjjkds"
}
{
    "a1" : "Orange",
    "a2" : "kldj",
    "a3" : "kdl"
}
{
    "a1" : "Apple",
    "a2" : "jlds",
    "a3" : "ldks"
}
{
    "a1" : "Mango",
    "a2" : "dsfj",
    "a3" : "dskj"
}

我尝试了以下方法,但没有成功:

var b = [];
for (var i = 0; i< a.length; i++) {
    b['a1'] = a[i].split("/")[0];
    b['a2'] = a[i].split("/")[1];
    b['a3'] = a[i].split("/")[2];
    console.log(b);
    b.push(b);
}

控制台打印所有创建的数组,但数组 b 只显示最后一个。我怎样才能让它工作?请帮忙。

最佳答案

试试这个:

var spl, b = [];
for (var i = 0, len = a.length; i < len; i++) {

    spl  = a[i].split("/"); /* execute split() just once */

    b[i] = {
      'a1': spl[0],
      'a2': spl[1],
      'a3': spl[2]
    }
}
console.log(b);

关于javascript - 创建一个数组的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12145320/

相关文章:

javascript - 如何在不使用 EVAL 的情况下处理两个数组对象

git - 从 git 历史记录中删除并完全删除提交

flutter - 在 Flutter 中推送新页面时,Navigator 堆栈上的页面会重建

javascript - 更新指定属性而不重新传递整个对象mongodb

arrays - 数组数组中特定位置的类型?

javascript - 匿名函数、声明和表达式语法理解

c++ - 将数组的地址传递给 C++ 中的函数

ios - 我的 iPad 应用程序如何订阅 RESTful 网络服务以便自动更新?

javascript - 移动网站 - 使元素不可选择

javascript - 生成错误的 json