📜  js 从对象中选择键 - Javascript (1)

📅  最后修改于: 2023-12-03 14:43:30.250000             🧑  作者: Mango

JS 从对象中选择键 - JavaScript

在 JavaScript 中,我们经常需要从一个对象中仅仅选择一部分键。这个过程可能涉及到创建一个新对象,或者直接对原始对象进行修改。本文将介绍如何在 JavaScript 中进行这些操作。

选择键创建新对象

有时候,你需要从一个对象中选择一部分键,并用这些键创建一个新对象。这可以通过以下代码实现:

const originalObj = {
  key1: 'value1',
  key2: 'value2',
  key3: 'value3',
  key4: 'value4',
  key5: 'value5',
};

const selectedKeys = ['key2', 'key4'];
const newObj = {};

selectedKeys.forEach(key => newObj[key] = originalObj[key]);

console.log(newObj); // { key2: 'value2', key4: 'value4' }

解释一下上面的代码:

  • originalObj 是原始对象,它包含了多个键/值对。
  • selectedKeys 是一个数组,其中包含了需要选择的键。
  • newObj 是用于存储选择后的键值对的新对象。
  • 使用 forEach 循环遍历 selectedKeys 数组,遍历过程中,每个键对应的值从原始对象中取出,并添加到 newObj 中。

注意,上面的代码只是基本的实现示例,对于每个需要选择的键值对,您可能需要进行额外的转换或检查操作。

从对象中删除键

另一种可能的需求是从对象中删除一部分键。这可以使用 delete 接口实现:

const originalObj = {
  key1: 'value1',
  key2: 'value2',
  key3: 'value3',
  key4: 'value4',
  key5: 'value5',
};

const excludedKeys = ['key2', 'key4'];

excludedKeys.forEach(key => delete originalObj[key]);

console.log(originalObj); // { key1: 'value1', key3: 'value3', key5: 'value5' }

解释一下上面的代码:

  • originalObj 是原始对象,它包含了多个键/值对。
  • excludedKeys 是一个数组,其中包含了需要删除的键。
  • 使用 forEach 循环遍历 excludedKeys 数组,遍历过程中,每个键被删除。

注意,删除对象的某个键可能会有意想不到的影响,特别是当该对象 shared/aliased 时。使用删除函数的时候小心。

总结

通过上面两个例子的介绍,您应该能够掌握如何在 JavaScript 中对对象进行键值选择操作。在实际开发中,您可能会遇到更多复杂的情况,需要注意一些细节。但是,在大多数情况下,上面的两种方法足以满足您的需求。