gpt4 book ai didi

javascript - Lodash 从另一个数组 Chain/Map 更新元素值

转载 作者:行者123 更新时间:2023-11-29 19:03:27 28 4
gpt4 key购买 nike

如何使用 Lodash

使用另一个数组元素数据值更新数组元素值
var Master_Array [
{ Name: "Jon", Region: "North America & Caribbean" },
{ Name: "Ruan", Region: "Asia Pacific" }
]

var Regions_Map = [
{ Region: 'Europe', NewRegion: 'EMEA' },
{ Region: 'North America & Caribbean', NewRegion: 'NAC' },
{ Region: 'Asia Pacific', NewRegion: 'APAC' }
]

我认为可以这样做:

_.chain()
.mapValues( ...blá blá... )
.values()
.value();

预期结果:

var Master_Array [
{ Name: "Jon", Region: "NAC" },
{ Name: "Ruan", Region: "APAC" }
]

最佳答案

你不需要执行 mapValues 因为你正在迭代一个集合而不是一个对象,mapKeysmapValues 是更好的迭代对象并映射到另一个

现在,方法 1,如果你想运行一些东西来返回你预期项目的新数组,那么尝试像这样使用 map

var EXPECTED_RESULT = _.map(Master_Array, function(item){
var newItem = {};
newItem.Name = item.Name;
newItem.Region = _.find(Regions_Map, {Region: item.Region}).NewRegion
return newItem;
});

如果你想修改现有的数组,那么只需通过 loadash 或普通的 javascript 循环遍历它,然后执行操作

_.each(Master_Array,function(item){
item.Region = _.find(Regions_Map, {Region: item.Region}).NewRegion
} )

关于javascript - Lodash 从另一个数组 Chain/Map 更新元素值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44977896/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com