2014-10-09 103 views
0

我有對象的JavaScript數組如下如何從數組對象中檢索第一個值到Javascript中的新數組?

var data = [ 
    { 
    id: 1, 
    date : '1/1/2011', 
    todo : 'Maths' 
    }, 
    { 
    id: 2, 
    date : '1/1/2012', 
    todo : 'Science' 
    } ................. and soo on 
]; 

我想我怎麼能做到這一點的Javascript有效所得數據作爲

var newArray = [ 
['1/1/2011', '1/1/2012'], 
[ 
{ 
    id:1, 
    todo: 'Maths' 
}, 
{ 
    id:2, 
    todo: 'Science' 
} 
] 

]

回答

0
function prepare(data) { 
var result = [ [], [] ]; 

for(var i = 0; i < data.length; i++) { 
    result[0][i] = data[i].date; 
    result[1][i] = { id: data[i].id, todo: data[i].todo }; 
} 

return result; 

} 

var newArray = prepare(data); 
0

下面的代碼會做的正是你在一個簡單和乾淨的方式

var data = [ 
    { 
    id: 1, 
    date : '1/1/2011', 
    todo : 'Maths' 
    }, 
    { 
    id: 2, 
    date : '1/1/2012', 
    todo : 'Science' 
    } 
]; 

var newArray = new Array([] , []); 

    for(i=0;i<data.length;i++){ 

     newArray[0].push(data[i].date); 
     newArray[1].push({ 
      id : data[i].id, 
      todo : data[i].todo 
     }); 

    } 
console.log(newArray); 
0

想如果你可以使用jQuery,那麼這將工作內容:

var newArray = [[], data];  
$.each(data, function(i,v) {newArray[0].push(v.date);delete v.date;}); 

對於純JavaScript ,這將工作:

var newArray = [[], data];  
for (var i=0; i<=data.length; i++) { 
    typeof data[i]==="object" ? (newArray[0].push(data[i].date), delete data[i].date) : ''; 
} 
0

嘗試

var data = [{ 
    id: 1, 
    date: '1/1/2011', 
    todo: 'Maths' 
}, { 
    id: 2, 
    date: '1/1/2012', 
    todo: 'Science' 
}]; 

var array = []; 

data.forEach(function (item) { 
    array.push(item.date); 
    delete item.date; 
}) 

data.unshift(array) 

console.log(data) 
0

我試過了。其工作原理

var data = [ 
{ 
    id: 1, 
    date : '1/1/2011', 
    todo : 'Maths' 
}, 
{ 
    id: 2, 
    date : '1/1/2012', 
    todo : 'Science' 
}]; 
var newArray=formatStr(data); 
alert(JSON.stringify(newArray)); 

function formatStr(data){ 
arr1=[]; 
var arr2=[]; 
for (var i in data) { 
    var obj={}; 
    obj["id"]=data[i].id; 
    obj["todo"]=data[i].todo; 
    arr1.push(data[i].date); 
    arr2.push(obj); 
} 
var result=[arr1,arr2]; 
return (result); 
} 
相關問題