微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在JavaScript中获取全名和年龄?

如何解决如何在JavaScript中获取全名和年龄?

您好,我目前仅在学习javascript,我有一个问题!

问题

76498.0_20150501

这就是我写的

selected_B_C

规则。

  • 如果人的名字(全名)和全名都必须合并

我想获得这样的价值 let result = [[“ Joe”,42] [“ Mary Jenkins”,36],[“ Kim”,40]]

解决方法

我认为您的数据结构不正确。我假设您有一个类似这样的对象数组。

let arr = [
  {
    'firstName': 'Joe','age': 42,'gender': 'male',},{
    'firstName': 'Mary','lastName': 'Jenkins','age': 36,'gender': 'female',{
    'firstName': 'Kim','age': 40,}
];

然后您的测试功能将如下所示-

function test5(arr) {
 let result=[];
 arr.forEach(function(elm){
  let entry={
    'name':elm['firstName'],'age':elm['age']
  };

  // this if will put append last name if present in elm
  if(elm['lastName']){
    entry['name']=entry['name']+' '+elm['lastName'];
  }
  result.push(entry)
 })
 return result;
}

您将获得此结果-

[
    {name:"Joe",age:42},{name:"Mary Jenkins",age:36},{name:"Kim",age:40},]
,

您可以尝试将嵌套数组转换为对象数组并进行对象迭代

let arr = [
  [
    ["firstName","Joe"],["age",42],["gender","male"]
  ],[
    ["firstName","Mary"],["lastName","Jenkins"],36],"female"]
  ],[
    ["lastName","Kim"],40],"female"]
  ]
];


const createObject = a => {
  const res = {};
  for (let el of a) {
    res[el[0]] = el[1];
  }
  return res;
};

const results = [];
arr.forEach(a => {
  if (a && a.length !== 0) {
    const destructedArray = createObject(a);

    destructedArray["name"] = "";
    if (destructedArray.firstName && destructedArray.lastName) {
      destructedArray.name = `${destructedArray.firstName},${destructedArray.lastName}`;
    } else if (destructedArray.lastName) {
      destructedArray.name = `${destructedArray.lastName}`;
    } else {
      destructedArray.name = `${destructedArray.firstName}`;
    }
    results.push([destructedArray.name,destructedArray.age]);
  }
});

console.log(results);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。