javascript - 替换数组中每个对象的值
问题描述
我想更改数组中每个对象的值。我想path.parse(name).name
在name object
内部做一个并用新值item array
返回它array
我的数组是这样的:
[
{
"name": "core Test",
"item": [
{
"name": "test/core/core.js",
"item": []
}
]
},
{
"name": "users Test",
"item": [
{
"name": "test/users/user.js",
"item": []
}
]
}
]
这是我的代码:
array.forEach((element) => {
const { item } = element;
item.forEach((i) => {
const { name } = i;
const newname = path.parse(name).name;
console.log(newname);
});
});
我想要的输出是:
[
{
"name": "core Test",
"item": [
{
"name": "core",
"item": []
}
]
},
{
"name": "users Test",
"item": [
{
"name": "user",
"item": []
}
]
}
]
解决方案
这将为您提供所需的输出
const path = require('path')
const datas = [
{
name: 'core Test',
item: [
{
name: 'test/core/core.js',
item: []
}
]
},
{
name: 'users Test',
item: [
{
name: 'test/users/user.js',
item: []
}
]
}
]
const transformedData = datas.map(data => {
data.item = data.item.map(x => ({
name: path.parse(x.name).name,
item: x.item
}))
return data
})
console.log(transformedData )
推荐阅读
- git - 托管私人仓库,无法通过 http(s) 找到
- swift - 材质豆荚 ErrorTextField
- owl - 有没有办法在 SWRL 中使用 xsd:dateTime 计算持续时间,颗粒可以推理?
- date - 更改 WinSCP 时间戳,从指定日期命名的文件夹中获取文件
- angular - 以角度注入具有基类类型的父组件
- ajax - 控制器动作 respond_to 格式错误 ActionController::UnknownFormat
- java - 如何从黄瓜项目中的多个功能文件运行您的功能文件
- gitlab - 接管 GitLab 管理
- ruby-on-rails - 如何将默认的 Devise sign_in url 重定向到 404 页面?
- python-3.x - 如何让我的程序识别 item 是字符串还是整数?