鍍金池/ 問答/HTML/ vue遍歷替換數(shù)組

vue遍歷替換數(shù)組

首先,有這樣一段數(shù)據(jù)

list['zhangsan','lisi','wangmazi']
people[
  {
    name: 'zhangsan',
    username: '張三'
  },{
    name: 'lisi',
    username: '李四'
  },{
    name: 'wangmazi',
    username: '王麻子'
  }
]

那么問題來了,怎么list里面的數(shù)據(jù)全部替換成people中相對應(yīng)的漢字人名呢?

回答
編輯回答
扯機薄

這樣的話,可以直接reduce people對象數(shù)組,根據(jù)list中的name獲取相應(yīng)username,然后把list直接指向reduce生成的新username list
額 獻丑一下,因為最新剛學了reduce

let userNames = []
people.reduce((accumulator, currentValue) => {
    if (list.indexOf(currentValue.name) !== -1) {
        accumulator.push(currentValue.username)
    }
    return accumulator
  }, userNames
)
list = userNames
2017年5月21日 14:14
編輯回答
舊螢火
const list = ['zhangsan','lisi','wangmazi'];
const people = [
    {
        name: 'zhangsan',
        username: '張三'
    },{
        name: 'lisi',
        username: '李四'
    },{
        name: 'wangmazi',
        username: '王麻子'
    }
];

let set = new Set(list);

const newList = people.map(e => {
    for (let item of set.values()) {
        return item = e.username
    }
});

console.log(newList)
2018年2月21日 22:06
編輯回答
眼雜
list = list.map(item => {
        people.forEach(ele => {
          if (item === ele.name) {
            item = ele.username
          }
        })
        return item
      })
2017年7月23日 21:11