Javascript中的元组列表

Javascript中的元组列表,javascript,arrays,json,node.js,list,Javascript,Arrays,Json,Node.js,List,假设我收到一个JSON字符串,其中包含关于人的信息。 现在我循环遍历所有JSON对象并提取每个人的姓名和年龄 如何将这些元组存储在列表中以供进一步处理? (例如,通过另一个函数)JS没有“tuple”类型的对象。(见:) 您可以创建自己的元组类,也可以简单地使用长度为2的数组(因此最终得到长度为2的数组)如果元组的意思类似于有序对,那么您可以拥有一个对象,该对象的属性名为此人的“姓名”,值为此人的“年龄” 像这样: var tupleObj = {}; for (var i in jsonObj

假设我收到一个JSON字符串,其中包含关于人的信息。 现在我循环遍历所有JSON对象并提取每个人的姓名和年龄

如何将这些元组存储在列表中以供进一步处理? (例如,通过另一个函数)

JS没有“tuple”类型的对象。(见:)


您可以创建自己的元组类,也可以简单地使用长度为2的数组(因此最终得到长度为2的数组)

如果元组的意思类似于有序对,那么您可以拥有一个对象,该对象的属性名为此人的“姓名”,值为此人的“年龄”

像这样:

var tupleObj = {};
for (var i in jsonObj) {
    tupleObj[jsonObj[i].name] = jsonObj[i].age;
}

您不需要将JSON字符串本身转换为对象。JSON在javascript中本来就是受支持的,毕竟它是*J*ava*S*script*O*bject*N*otation

假设您有一个json字符串-

"[{name:john,place:usa,phone:12345},{name:jim,place:canada,phone:54321}]"
您可以通过以下方式转换为js对象-

var persons = JSON.parse("[{name:john,place:usa,phone:12345},{name:jim,place:canada,phone:54321}]");
现在您可以像这样访问它-循环所有元组/记录-

for (var i=0;i<persons.length;i++) {
   var person = persons[i];
   var name = person.name;
   var place = person.place;
   var phone = person.phone;
}

for(var i=0;i假设传入的JSON如下所示:

var incomingList = [{
  "name": "Homer Simpson",
  "age": 45,
  "occupation": "Nuclear Plant Technician",
    ...
},{
  "name": "Marge Simpson",
  "age": 44,
  "occupation": "Homemaker",
    ...
},
  ...
]
您只能将名称和年龄提取到类似的对象数组中:

var nameAndAgeList = incomingList.map(function(item) {
  return {
    name: item.name,
    age: item.age
  };
});
JavaScript只有对象和数组,没有元组。如果您的数据是关联的(每个记录都有键值对,字段名作为键),那么上述方法可以很好地工作


但是,如果需要将单个对象中的名称和年龄作为键值对(如关联数组)与名称作为键值和年龄作为值相关联,则可以使用以下方法(假设名称是唯一的):


根据Vikram的回答,正如您特别要求的,下面将返回一个数组数组——换句话说,一个元组列表

var parsed = JSON.parse('[{"name":"john", "place":"usa", "phone":"12345"},{"name":"jim", "place":"canada", "phone":"54321"}]');

var people = [];
for (var i=0; i < parsed.length; i++) {
   var person = [parsed[i].name, parsed[i].place, parsed[i].phone];
   people.push(person);
}
var parsed=JSON.parse(“[{”name:“john”,“place:“usa”,“phone:“12345”},{”name:“jim”,“place:“canada”,“phone:“54321”}”);
var people=[];
for(var i=0;i
您希望元组是什么样子的?请举例说明。
var parsed = JSON.parse('[{"name":"john", "place":"usa", "phone":"12345"},{"name":"jim", "place":"canada", "phone":"54321"}]');

var people = [];
for (var i=0; i < parsed.length; i++) {
   var person = [parsed[i].name, parsed[i].place, parsed[i].phone];
   people.push(person);
}