2014-02-13 4 views
-1

Я хотел бы преобразовать массив так:преобразования массива в массив массивов в Javascript

URL: Array

0:"michael" 
1:"jason" 

URL: Array

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

I необходимо для добавления данных в (jquery) datatable («aaData»: исключения)

+0

К сожалению это не имеет смысла, что вы разместил – Dalorzo

+1

Так что вы хотите для преобразования массива в массив (той же длины), который имеет подматрицу с одинаковыми значениями? Если вы не хотите добавлять объекты внутри своего массива, я не вижу смысла в этом. Но если вы хотите сделать, используйте функцию карты над arr и return [data] (если данные являются параметром функции) – shash7

+0

У меня есть строка с этим значением url = "michael, jason"; Я разделил эти значения на var result = url.split (";"); сейчас у меня есть результат = ["michael", "jason"] , но мне нужно сонять как результат = [["michael"], ["jason"]]; Мне нужно это, чтобы добавить эту информацию в datatable «aaData» – edraven

ответ

0

В 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.

UPDATE:

Для современных браузеров (IE9 +, FF1.5 +), вы можете использовать метод картографического массива объекта:

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

Это прекрасно работает. благодаря – edraven

Смежные вопросы