【问题标题】:convert array in array of arrays in Javascript在Javascript中的数组数组中转换数组
【发布时间】:2014-02-13 16:33:36
【问题描述】:

我想像这样转换一个数组:

网址:数组

0:"michael"
1:"jason"

网址:数组

0:Array
 0:"michael"
1:Array
 0:"jason"

我需要它来将数据添加到(jquery)数据表(“aaData”:异常,)

【问题讨论】:

  • 抱歉,您发布的内容毫无意义
  • 所以你想将一个数组转换成一个数组(相同长度),它有一个相同值的子数组?除非您想在数组中添加对象,否则我认为这样做没有任何意义。但是如果你想这样做,在 arr 上使用 map 函数并返回 [data] (假设 data 是函数参数)
  • 我有一个带有这个值的字符串 url="michael,jason";我用 var result= url.split(";"); 分割了这个值现在我有 result = ["michael","jason"] 但我需要类似 result =[["michael"],["jason"]];我需要它来将此信息添加到数据表“aaData”

标签: javascript jquery datatable


【解决方案1】:

在 JavaScript 中,数组是这样的:["michael", "jason"]

这是一个对象:{0: "michael", 1: "jason"}

要转换你写的数组,你可以使用这样的脚本:

var a = ["michael", "jason"];
for (var i=0; i<a.length; i++) {
    a[i] = [a[i]];
}

要转换你写的对象,你可以使用这样的脚本:

var obj = {0: "michael", 1: "jason"};
for (var i in obj) { // here is a difference - using `in` keyword
    obj[i] = [obj[i]];
}

这是working fiddle

更新:

对于现代浏览器(IE9+、FF1.5+),您可以使用 Array 对象的 map 方法:

var a = ["michael", "jason"];
a = a.map(function(item) {
    return [item];
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 2018-12-17
    • 2013-08-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    相关资源
    最近更新 更多