javascript - 如何在不影响原始数组的情况下删除值和键?
问题描述
当我运行下面的代码时,listData(原始数据源)也会受到影响。
如何改进我的代码,以便 downloadData 可以从 listData 复制数据并删除数组中的 id、createdBy、create_at、updatedBy 和 updated_at,但 listData 的数据被保留而不被更改?
let downloadData = this.listData.filteredData;
let downloadDataNum = downloadData.length;
for( let i = 0; i < downloadDataNum; i++ ) {
delete downloadData[i].id;
delete downloadData[i].createdBy;
delete downloadData[i].created_at;
delete downloadData[i].updatedBy;
delete downloadData[i].updated_at;
}
解决方案
let downloadData = [...this.listData.filteredData];
for( let i = 0; i < downloadData.length; i++ ) {
delete downloadData[i].id;
delete downloadData[i].createdBy;
delete downloadData[i].created_at;
delete downloadData[i].updatedBy;
delete downloadData[i].updated_at;
}
你可以试试这个......使用传播运算符你可以将数据传播到downloadData变量而不改变listData
推荐阅读
- azure-web-app-service - 如何将公共静态 IP 附加到 Azure 应用服务
- jaxb - 使用 Java 10 时忽略 Jaxb 包信息
- ios - SKView 集成到 UIViewController 中,UITextFields 滞后
- python - Python - 打印地图对象问题
- angular - Angular 6 - 在测试中触发反应形式控制值的变化
- android - 没有 AppCompatActivity 的 Fragments 中的工具栏
- python - 使用 Anaconda 从 Github 下载 Python 库
- python - 使用 Python,如何从 Google 搜索中抓取链接的描述性文本?
- c++ - 虚幻引擎 C++ 中的 TArray 浮动错误
- python - 为集成终端设置环境变量