JavaScript中的转换对象数组(字符串化)

JavaScript中的转换对象数组(字符串化),javascript,jquery,arrays,datatables,Javascript,Jquery,Arrays,Datatables,我有一个JavaScript对象,其数据来自AJAX响应: var data1 = [ { "id": "ID1", "name": "John" }, { "id": "ID2", "name": "Mark" }, ]; 如何将其转换为以下内容: var data2 = [["ID1", "John"],["ID2", "Mark"]]; 我需要这种格式来将数据填充到现有的空数据表中(row.add()) 谢谢你的帮

我有一个JavaScript对象,其数据来自AJAX响应:

var data1 = [
   {
      "id": "ID1",
      "name": "John"
   },
   {
      "id": "ID2",
      "name": "Mark"
   },
];
如何将其转换为以下内容:

var data2 = [["ID1", "John"],["ID2", "Mark"]];
我需要这种格式来将数据填充到现有的空数据表中(row.add()

谢谢你的帮助

编辑:
我将“ID1”“ID2”添加到数据2,如果AJAX响应尚未解析,则首先将其作为对象

data1 = JSON.parse( ajaxResponseStr );
假设
data1
已经是一个对象,只需尝试一下

data2 = data1.map( function(item){ return [item.name] });
用于删除不需要的字段并将每个对象转换为指定格式,如下所示:

var data2 = [];
for(var i in data1){
    data2.push(data1[i].name)
}
var数据1=[{
“id”:“ID1”,
“姓名”:“约翰”
},
{
“id”:“ID2”,
“名称”:“标记”
},
];
var data2=data1.map(函数(项){
返回[项目[“名称”];
});
console.log(data2)
您可以使用
数组#map
创建名称和id的数组

编辑:OP更新了问题。编辑代码以返回idname

var data1=[{“id”:“ID1”,“name”:“John”},{“id”:“ID2”,“name”:“Mark”}];
var data2=data1.map(({id,name})=>[id,name]);

console.log(data2)
您的
data1
是一个数组,因此您可以轻松地在其上使用
.map
方法。
.map
方法返回从回调返回的值数组

data2 = data1.map(function(item) { return [item.name]});

根据您的数据结构,编写如下代码:

var data2 = [];
for(var i in data1){
    data2.push(data1[i].name)
}
简单使用

ES6:

const data2 = data1.map(({ name }) => [name]);
var data2 = data1.map(function(item) {
   return [item.name];
});
ES5:

const data2 = data1.map(({ name }) => [name]);
var data2 = data1.map(function(item) {
   return [item.name];
});

或者使用
Array.prototype.reduce()

var数据1=[
{
“id”:“ID1”,
“姓名”:“约翰”
},
{
“id”:“ID2”,
“名称”:“标记”
},
];
var data2=data1.reduce(函数(acum,item){acum.push([item.name]);返回acum;},[]);

console.log(data2)这个答案和下面的答案都是有用和可以接受的,但我只能接受一个。公平地说,我会接受这一点,因为这是第一次。谢谢大家。