Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中将数组对象的第一个值检索到新数组中?_Javascript_Jquery - Fatal编程技术网

如何在Javascript中将数组对象的第一个值检索到新数组中?

如何在Javascript中将数组对象的第一个值检索到新数组中?,javascript,jquery,Javascript,Jquery,我有一个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'],

我有一个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);
var结果=[],[]; 对于(变量i=0;i
如果您可以使用jQuery,那么这将起作用:

var newArray = [[], data];    
$.each(data, function(i,v) {newArray[0].push(v.date);delete v.date;});
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) : '';
}
对于纯javascript,这将起作用:

var newArray = [[], data];    
$.each(data, function(i,v) {newArray[0].push(v.date);delete v.date;});
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 newArray=[],data];
对于(var i=0;itry


我试过了,它起作用了

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