为了账号安全,请及时绑定邮箱和手机立即绑定

我有一个对象数组,如果类型是数字,我想更改值

我有一个对象数组,如果类型是数字,我想更改值

慕运维8079593 2022-11-11 16:51:44
到目前为止我有这个,但是当我检查人之后它不会改变年龄键值以添加“$”。我想假设我不知道哪些值是数字类型,所以我想做一个检查和将其更改为 23 美元、3 美元、8 美元等。const people = [    {name: 'John', age: 23, sex: "male"},     {name: 'Andrew', age: 3, sex: "male"},     {name: 'Peter', age: 8, sex: "male"},     {name: 'Hanna', age: 14, sex: "male"},     {name: 'Adam', age: 37, sex: "male"}];let indVals;people.forEach(function(arr) {    indVals = Object.values(arr);    console.log('Individual values: ',indVals);    for(let val of indVals) {        if ( typeof val === "number") {            val = "$" + val;        }    }});
查看完整描述

3 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

由于 op 声明属性名称未知。您需要使用键来获取属性,然后检查类型,然后使用键更新值。


 const people = [

{name: 'John', age: 23, sex: "male"}, 

{name: 'Andrew', age: 3, sex: "male"}, 

{name: 'Peter', age: 8, sex: "male"}, 

{name: 'Hanna', age: 14, sex: "male"}, 

{name: 'Adam', age: 37, sex: "male"}];


people.forEach(obj=> {

   Object.keys(obj).forEach(key=>{   

    if (typeof obj[key] === "number") {

      obj[key] = "$" + obj[key];

    }

  });

});


console.log(people);



查看完整回答
反对 回复 2022-11-11
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

您可以数组并有条件地修改对象中属性的值map。people请注意, usingmap将为您提供一个新数组。


const people = [

    {name: 'John', age: 23, sex: "male"}, 

    {name: 'Andrew', age: 3, sex: "male"}, 

    {name: 'Peter', age: 8, sex: "male"}, 

    {name: 'Hanna', age: 14, sex: "male"}, 

    {name: 'Adam', age: 37, sex: "male"}];

    

    

const result = people.map(obj => {

  return Object.fromEntries(Object.entries(obj).map(([k, v]) => {

   return (typeof v === 'number') ? [k, `$${v}`] : [k, v];

  }));

});


console.log(result)


查看完整回答
反对 回复 2022-11-11
?
Qyouu

TA贡献1786条经验 获得超11个赞

res = people.map((elem) => {

    for(let key in elem){

        if(typeof elem[key] == 'number'){

            elem[key] += '$';

        }

    }

    return elem;

})


查看完整回答
反对 回复 2022-11-11
  • 3 回答
  • 0 关注
  • 79 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信