我的编程空间,编程开发者的网络收藏夹
学习永远不晚

js对象合并的4种方式与数组合并的4种方式

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

js对象合并的4种方式与数组合并的4种方式

一、对象合并

1、拓展运算符(...)

ES6入门中是这样说的:

对象的扩展运算符(...)用于取出参数对象的所有可遍历属性,拷贝到当前对象之中。

let obj1 = {
    name: '陈伟停',
    gender: '男',
    hobby: '唱歌'
};
let obj2 = {
    name: '陈伟停',
    gender: '男',
    hobby: '跳舞',
    nationality: '中国'
};
 
let obj = {...obj1, ...obj2};
console.log(obj);  // { name: '陈伟停', gender: '男', hobby: '跳舞', nationality: '中国' }

由上面的代码可以看出:

  • 同名属性:合并,并且后边的(obj2)把前边的(obj1)覆盖。
  • 不同名属性:属性值不变,只合并。

注:第一级是深拷贝,第二级开始都是浅拷贝。

2、Object.assign()

MDN上是这样写的:

Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象分配到目标对象。它将返回目标对象。

用于对象合并,写法如下: 

let obj = Object.assign({}, obj1, obj2);
console.log(obj);  // { name: '陈伟停', gender: '男', hobby: '跳舞', nationality: '中国' }

由上面的代码可以看出,效果与法一相同。 

注:第一级是深拷贝,第二级开始都是浅拷贝。

3、递归赋值

let obj = obj1;
for (var p in obj2){
    if(obj2.hasOwnProperty(p))
    obj[p] = obj2[p];
}
console.log(obj);  // { name: '陈伟停', gender: '男', hobby: '跳舞', nationality: '中国' }

由上面的代码可以看出,效果与法一相同。 类似于直接赋值增加属性

注:第一级是深拷贝,第二级开始都是浅拷贝

4、jquery中的extend()

jQuery.extend() 函数用于将一个或多个对象的内容合并到目标对象。

$.extend(obj1, obj2)  // 浅拷贝
$.extend(true, obj1, obj2)  // 深拷贝

二、数组合并

1、扩展操作符

使用ES6语法的拓展运算符:这个方法也是创建一个新数组

var newArray = [...array,...elements]
console.log(newArray); // ["a", "b", 0, 1, 2]

2、使用array.concat()方法进行合并

使用concat方法:这个方法不是添加到现有数组,而是创建并返回一个新数组。

var array = ["a", "b"];
var elements = [0, 1, 2];
 
var newArray = array.concat(elements);
console.log(array); //['a', 'b']
console.log(newArray);// ["a", "b", 0, 1, 2]

3、关于Apply

使用Apply方法:这个方法是将数组各项添加到另一个数组当中,是一种改变原数组的方法

var array = ["a", "b"];
var elements = [0, 1, 2];
array.push.apply(array, elements);
console.log(array); // ["a", "b", 0, 1, 2]

4、array.push()方法进行合并

const heroes = ['Batman'];
 
heroes.push('Superman');
 
heroes; // ['Batman', 'Superman']
const heroes = ['Batman', 'Superman'];
const villains = ['Joker', 'Bane'];
 
heroes.push(...villains);
 
heroes; // ['Batman', 'Superman', 'Joker', 'Bane']

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

js对象合并的4种方式与数组合并的4种方式

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

js对象合并的4种方式与数组合并的4种方式

这篇文章主要介绍了js对象合并的4种方式与数组合并的4种方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-13

javaScript合并对象的多种方式及知识扩展

众所周知JavaScript中有多种方法可以合并对象,下面这篇文章主要给大家介绍了关于javaScript合并对象的多种方式及知识扩展,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-02-14

哪种方式合并PHP数组效率最高?

php 中合并数组效率最高的方法是使用 + 运算符,因为它原生且不需要额外的结构。哪种方式合并 PHP 数组效率最高?在 PHP 中合并数组是很常见的一种操作,有几种不同的方法可以实现,每种方法的效率也不尽相同。本文将介绍几种最常用的方法
哪种方式合并PHP数组效率最高?
2024-04-28

JavaScript对象合并的几种方法小结

本文主要介绍了JavaScript对象合并的几种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-02-17

javascript函数的4种调用方式与this的指向

本文主要介绍了javascript函数的4种调用方式与this(上下文)的指向,文中有详细的代码示例,感兴趣的同学可以参考阅读一下
2023-05-19

JavaScript数组合并的8种常见方法小结

项目过程中经常会遇到JS数组合并的情况,时常为这个纠结,这里整理一下,下面这篇文章主要给大家介绍了关于JavaScript数组合并的8种常见方法,需要的朋友可以参考下
2022-11-16

php合并两个数组的方式有哪些

在 PHP 中,可以使用以下几种方式来合并两个数组:使用 array_merge() 函数:$array1 = [1, 2, 3];$array2 = [4, 5, 6];$mergedArray = array_merge($arra
php合并两个数组的方式有哪些
2024-03-04

PHP数组合并的常见方式有哪些?

在 php 中,将数组合并有三种常见方法:使用 array_merge() 函数、+ 运算符(适用于键名不冲突的情况)以及 array_combine() 函数(用于创建键值对数组)。在实战中,这些方法可用于将购物车的商品合并到订单数组中。
PHP数组合并的常见方式有哪些?
2024-04-28

JS之判断是否为对象或数组的几种方式总结

这篇文章主要介绍了JS之判断是否为对象或数组的几种方式总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-05-16

使用js获取url中的参数并返回一个对象方式

这篇文章主要介绍了使用js获取url中的参数并返回一个对象方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-01-17

编程热搜

目录