JavaScript 如何从另一个数组创建部分对象数组

JavaScript 如何从另一个数组创建部分对象数组

部分对象数组包含对象数组中选择的一些键值对。在本文中,我们将了解如何从另一个对象数组中创建部分对象数组。部分对象包含数据的子集。我们可以使用不同的方法(如 map())从另一个数组创建部分数组。

以下是一些常见的方法:

  • map() 方法
  • 使用解构
  • reduce() 方法

方法1:使用 map() 方法

通过使用 map() 方法,我们可以从另一个对象数组中创建部分对象数组。map() 方法将对象数组的键作为参数,这些参数将成为期望的对象数组,并返回该特定键的键值对。在下面的示例中,我们获取 name 和 age 的键值对作为部分对象数组,其中这些参数给定在 map 方法中。

语法:

partialObjectArray = ObjectArray.map((
{key 1, key 2, ...key n}) => ({key 1, key 2, ...key n}));

注意: key 1,key 2,…key n 是部分对象数组中所需的字段。

示例 1: 这是使用map()方法从另一个数组创建部分对象数组的示例:

Javascript

let = studentDetails = [
    {
        name: 'dinesh',
        age: 20,
        marks: 30,
        Grade: 'F'
    },
    {
        name: 'divi',
        age: 20,
        marks: 60,
        Grade: 'B'
    },
    {
        name: 'vignesh',
        age: 30,
        marks: 80,
        Grade: 'A'
    }]
let partialStudentDetails = studentDetails.map((
    { name, age, Grade }) => ({ name, age, Grade }));
console.log(partialStudentDetails);

输出

[
  { name: 'dinesh', age: 20, Grade: 'F' },
  { name: 'divi', age: 20, Grade: 'B' },
  { name: 'vignesh', age: 30, Grade: 'A' }
]

方法2:使用解构

与其在map()方法中提供对象数组的所有必需字段(如果对象中有多个字段,则这是一个困难的任务),我们可以使用以下方法在map方法中创建一个部分对象数组。第一个参数必须是结果对象数组中不需要的字段。

语法:

partialObjectArray = ObjectArray.map(({ key 1, key 2, ...rest }) => rest);

注意: key 1和key 2是生成的对象数组中不必需的字段。

示例: 这是使用map()方法从另一个数组创建部分对象数组的另一个示例:

JavaScript

let = studentDetails = [
    {
        name: 'dinesh',
        age: 20,
        marks: 30,
        Grade: 'F'
    },
    {
        name: 'divi',
        age: 20,
        marks: 60,
        Grade: 'B'
    },
    {
        name: 'vignesh',
        age: 30,
        marks: 80,
        Grade: 'A'
    }]
 
// The parameter marks is not required 
// in the resultant object array
 
let partialStudentDetails = studentDetails.map((
    { marks, ...rest }) => rest);
console.log(partialStudentDetails);

输出

[
  { name: 'dinesh', age: 20, Grade: 'F' },
  { name: 'divi', age: 20, Grade: 'B' },
  { name: 'vignesh', age: 30, Grade: 'A' }
]

在上面的示例中,我们在一个部分对象数组中获取了名称、年龄和成绩的键值对。

方法3:使用reduce方法

reduce方法也用于遍历数组并创建单个值和对象。

示例: 在此示例中,我们使用reduce方法从另一个数组创建部分对象。

Javascript

let studentDetails = [
    {
        name: 'dinesh',
        age: 20,
        marks: 30,
    },
    {
        name: 'divi',
        age: 20,
        marks: 60,
    },
    {
        name: 'vignesh',
        age: 30,
        marks: 80,
    }]
 
const partialStudentDetails = studentDetails.reduce((res, item) => {
    res.push({ name: item.name, age: item.age, marks: item.marks });
    return res;
}, []);
console.log(partialStudentDetails);

输出

[
  { name: 'dinesh', age: 20, marks: 30 },
  { name: 'divi', age: 20, marks: 60 },
  { name: 'vignesh', age: 30, marks: 80 }
]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程