如何打印除一个以外的对象,而不删除任何内容(JavaScript)[重复]

Posted

技术标签:

【中文标题】如何打印除一个以外的对象,而不删除任何内容(JavaScript)[重复]【英文标题】:How to print objects except one, without deleting anything (JavaScript) [duplicate] 【发布时间】:2019-09-06 14:59:20 【问题描述】:

所以我想过滤对象的对象,并打印除一个之外的所有对象,我通过键指定。

const obj = 1: age: 10, 2: age: 20;

console.log(obj);

所以我必须选择以某种方式指定我不希望打印 obj[1]。我怎么做? : |

我不想从中删除任何内容。

【问题讨论】:

【参考方案1】:

您可以filter() 键,然后使用reduce() 将其转换回对象

const obj = 1: age: 10, 2: age: 20;

let key = 1
console.log(Object.keys(obj).filter(x => x != key).reduce((ac,a) => (...ac,[a]:obj[a]),));

使用新功能Object.fromEntries

const obj = 1: age: 10, 2: age: 20;

let key = 1
let res = Object.fromEntries(Object.entries(obj).filter(x => x[0] != key));
console.log(res);

【讨论】:

【参考方案2】:

你可以destructure对象:

const obj = 1: age: 10, 2: age: 20, 3: age: 30,
      key = 1;
      
const  [key]:_, ...rest  = obj
console.log(rest);

【讨论】:

以上是关于如何打印除一个以外的对象,而不删除任何内容(JavaScript)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何防止用户写除英文 Ios 以外的任何内容

如何仅获取以“1”开头的文件中的第一行。后跟除数字以外的任何字符?

从单元格中删除除数字以外的所有内容

Rails 去除除数字逗号和小数点以外的所有内容

从Ruby中的URL中删除除网站名称以外的所有内容[复制]

django模型对象重用而不擦除数据