簡體   English   中英

如何將數組對象中的第一個值檢索到Javascript中的新數組中?

[英]How to retrieve first value from Array objects into a new Array in Javascript?

我有一個對象的Javascript數組,如下所示

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

我想要作為結果的數據

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

]

如何在Javascript中有效地做到這一點?

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);

如果可以使用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) : '';
}

嘗試

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)

我努力了。 它的工作

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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM