javascript - 从 Java 脚本对象中删除一个值
问题描述
我想知道如何从包含多个值的对象中删除特定值
这就是我的对象的样子
{
'how can i change my password?': [
'how can I change my password?',
'how may I change my password?',
'how am I able to change my password?'],
'how do i change my password?': [
'how may I change my password?',
'how can I change my password?',
'how should I change my password?',
'how would I change my password?',
'how do I change my password?']
}
我想要做的是搜索如何更改我的密码值,每当我找到它时我想删除这个值。
如果稍微搜索一下,我发现的只是谈论删除整个对象或使用delete删除完整属性,但这不是我想要的..我只想从值数组中删除一个值。
预期输出:
{
'how can i change my password?': [
'how may I change my password?',
'how am I able to change my password?'],
'how do i change my password?': [
'how may I change my password?',
'how should I change my password?',
'how would I change my password?',
'how do I change my password?']
}
解决方案
从对象和数组中删除是两件不同的事情。
从对象中删除
let obj = { a: [1,2,3], b: [4,5,6], c: [7,8,9] };
// delete b from Object obj
delete obj.b;
// obj is { a: [1,2,3], c: [7,8,9] }
从数组中删除
let obj = { a: [1,2,3], b: [4,5,6], c: [7,8,9] };
// delete 2 from Array obj.a
obj.a = obj.a.filter(r => r !== 2);
// obj is { a: [ 1, 3 ], b: [ 4, 5, 6 ], c: [ 7, 8, 9 ] }
不要在数组上使用 delete
let obj = { a: [1,2,3], b: [4,5,6], c: [7,8,9] };
// delete by key on Array obj.a
delete obj.a[2]; // 2 is a key, not a value
// obj is { a: [ 1, 2, <1 empty item> ], b: [ 4, 5, 6 ], c: [ 7, 8, 9 ] }
在您的情况下,您应该遍历对象的值并过滤它们的数组。
推荐阅读
- php - 如何在 laravel 控制器中插入日期?
- node.js - 在 Nest js 中集成 firebase 通知
- python - Python掷骰子游戏卡在代码上,如果满足某些用户输入,想要循环重新启动
- git - 接收后挂钩导致生产文件夹中的未跟踪文件
- php - 如何将 libpq.dll 更新为 php 7.3 的最新版本(Win x64 二进制文件)
- tree - 使用动态规划的树中的最长路径
- vue.js - 如何对动态列数据表进行扩展
- powerbi - powerbi Visual 的标题名称加粗
- reactjs - react-admin:如何自定义批量操作
- django-rest-framework - 如何设置一个不会过期的令牌