typescript - 替换数组中对象的子字符串?
问题描述
在打字稿中,我有一个像 variable1 这样的数组对象,我想将name
地址键中的值子字符串替换为new_name
和address
to 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}`, },] ;
解决方案
如果您只想替换,则不需要 map() 方法。您可以使用 forEach()。此代码将替换数组中的所有项目。
variable1.forEach((object) => {
object.address = object.address.replace('name', 'new_name')
.replace('address', 'new_address');
});
推荐阅读
- ios - 无法学习为 Swift 4 Xcode 10 制作 QR 扫描仪
- arrays - 为什么在 Angular 5 应用程序中无法访问内部数组打字稿?
- python - 使用 Bokeh 绘制时间序列
- java - aop:aspectj-autoproxy 和 tx:annotation-driven 冲突在 spring
- ruby-on-rails - 仅在 Rails 中用于管理员的 sidekiq 监控
- c# - 我有几个关于伤害公式的问题
- node.js - 使用聚合 $in 运算符时出错
- arm - 交叉编译到 ARM
- javascript - 如何使用多维数组列表突出显示 AngularJs 1.4.8 中的搜索文本?
- python - 从用户那里获取输入,然后使用子进程启动一个进程