迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

使用 JavaScript 将键值对推送到数组中

作者:迹忆客 最近更新:2023/03/10 浏览次数:

本文讨论如何使用 JavaScript 将键值对推送到数组中。我们可以使用带有 map()reduce() 方法的 jQuery 和箭头函数。

该目标也可以在不使用任何内置方法的情况下实现(本文稍后讨论)。

让我们从不使用内置方法和函数开始。在下面的代码中,我们有一个名为 arr1 的数组,其中包含两个元素 lefttop

我们分别声明另一个数组和一个名为 arr2obj 的对象。

编写一个 for 循环,直到 arr1.length-1 执行。在每次迭代中,我们使用括号符号为 obj 创建键值对。

完成后,我们使用 push() 方法将 obj 插入 arr2 并在控制台上打印。

JavaScript 代码:

var arr1 = ['left', 'top'], arr2 = [];
var obj = {};

for (i = 0; i < arr1.length; i++) {
  obj[arr1[i]] = 0;
}

arr2.push(obj);
console.log(arr2);

输出:

[{
 left: 0,
 top: 0
}]

现在,让我们转向将键值对推送到 arr2 的内置函数和方法。

ECMAScript6 (ES6) 引入了箭头函数,让我们可以更简洁地编写函数。如果函数只有一个语句,我们只能使用这个函数。

map() 方法通过为每个数组的元素调用一次函数来创建一个新数组。它不会修改原始数组并针对空元素运行。

JavaScript 代码:

var arr1 = ['left', 'top'];
const arr2 = arr1.map(value => ({[value]: 0}));
console.log(arr2);

输出:

[{
 left: 0
}, {
 top: 0
}]

你可能已经观察到我们可以添加两个具有相同数据的对象。在上述输出中,每个对象都有一个属性。

reducer 函数由 reduce() 方法执行。它只返回一个值,即函数的累积答案。

map() 方法一样,reduce() 方法不会更新原始数组并为数组的空元素运行函数。

JavaScript 代码:

var arr1 = ['left', 'top'];
const arr2 = arr1.reduce((obj, arrValue) => (obj[arrValue] = 0, obj), {});
console.log(arr2);

输出:

{
  left: 0,
  top: 0
}

假设你想要在 arr2 数组中具有两个属性(lefttop)的一个对象的键值对。让我们使用 jQuery 来实现。

示例代码:

var arr1 = ['left','top'], arr2 = [];
var obj = {};

$.each(arr1,function(index, value){
 	obj[value] = 0;
});

arr2.push(obj);
console.log(arr2);

输出:

[{
 left: 0,
 top: 0
}]

如果我们有两个名为 keysvalues 的数组会怎样。我们想从 keysvalues 中获取所有元素并将它们推送到第三个数组中。

请参阅以下示例。

var keys = ['ID','FirstName', 'LastName', 'Gender'],
 values = [1, 'Mehvish', 'Ashiq', 'Female'],
 arr = [];
var obj = {};

for(i = 0 ; i < keys.length && i < values.length ; i++){
 	obj[keys[i]] = values[i];
}
arr.push(obj);
console.log(arr);

输出:

[{
 FirstName: "Mehvish",
 Gender: "Female",
 ID: 1,
 LastName: "Ashiq"
}]

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Angular 中上传文件

发布时间:2023/04/14 浏览次数:71 分类:Angular

本教程演示了如何在 Angular 中上传任何文件。我们还将介绍如何在文件上传时显示进度条,并在上传完成时显示文件上传完成消息。

Angular 2 中的复选框双向数据绑定

发布时间:2023/04/14 浏览次数:139 分类:Angular

本教程演示了如何一键标记两个复选框。这篇有 Angular 的文章将着眼于执行复选框双向数据绑定的不同方法。

在 AngularJs 中加载 spinner

发布时间:2023/04/14 浏览次数:107 分类:Angular

我们将介绍如何在请求加载时添加加载 spinner,并在 AngularJs 中加载数据时停止加载器。

在 Angular 中显示和隐藏

发布时间:2023/04/14 浏览次数:78 分类:Angular

本教程演示了 Angular 中的显示和隐藏。在开发商业应用程序时,我们需要根据用户角色或条件隐藏一些数据。我们必须根据该应用程序中的条件显示相同的数据。

在 Angular 中下载文件

发布时间:2023/04/14 浏览次数:104 分类:Angular

本教程演示了如何在 angular 中下载文件。我们将介绍如何通过单击按钮在 Angular 中下载文件并显示一个示例。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便