使用地图仅更新 javascript 对象中的单个键

rak*_*tha 1 javascript higher-order-functions ecmascript-6 map-function

我想更新thumbnail我的对象中的密钥。

products :[
 {
    id: 1,
    name: "sth,
    thumb : 'abc.jpg'
 }
];
Run Code Online (Sandbox Code Playgroud)

我想更新该数组中的products.thumb所有内容,objects例如thumb: 'server/abc.jpg

searchedProducts = products.map(product => {
    return Object.assign({},
    product, 
    product.thumb = product.thumb ? 'server'+product.thumb : '')
});
Run Code Online (Sandbox Code Playgroud)

电流输出

[{
    0: 's,
    1: 'e',
    3: 'r',
    4: 'v',
    5: 'e',
    id: 1,
    thumb :'server/abc.jpg'
}]
Run Code Online (Sandbox Code Playgroud)

Vad*_*adi 5

使用扩展语法:

const products = [
  {
    id: 1,
    name: 'sth',
    thumb : 'abc.jpg'
  }
];

searchedProducts = products.map(product => {
  const thumb = product.thumb ? 'server/' + product.thumb : '';
  return { ...product, thumb };
});

console.log(searchedProducts);
Run Code Online (Sandbox Code Playgroud)