首页 > 解决方案 > 替换数组中对象的子字符串?

问题描述

在打字稿中,我有一个像 variable1 这样的数组对象,我想将name地址键中的值子字符串替换为new_nameaddressto new_address。我该怎么做?我有类似的东西

const variable2 = [
  variable1.map((object) => {
    object.address.replace('name', 'new_name');
    object.address.replace('address', 'new_address');
  }),
];

但我得到错误TS2339: Property 'address' does not exist on type 'void[]'.

export const variable1 = [
  {name: 'apple', address: `name=apple&address=apple_address}`, },
  {name: 'banana', address: `name=banana&address=banana_address}`, },
];
// vairable2
// export const variable1 = [
  // {name: 'apple', address: `new_name=apple&new_address=apple_address}`, },
  // {name: 'banana', address: `new_name=banana&new_address=banana_address}`, },] ;

标签: typescripttypescript2.0

解决方案


如果您只想替换,则不需要 map() 方法。您可以使用 forEach()。此代码将替换数组中的所有项目。

variable1.forEach((object) => {
  object.address = object.address.replace('name', 'new_name')
                                 .replace('address', 'new_address');
});

推荐阅读