使用javascript和lodash将不同值的对象组合或连接起来的不同方法

302 阅读2分钟

这篇文章涵盖了使用javascript和lodash将不同值的对象组合或连接起来的不同方法。
让我们看一个两个对象的例子。每个对象都有不同的属性。

  
const employee= {  
  name: "kiran",  
  id:12   
};  
const department = {  
  type: "Development"  
};  

我们将看到结合这两个对象的各种方法

Lodash对象的赋值方法实例

这个库中的assign方法是用来将源对象的值分配给目标对象的值。它通过结合源对象和目标对象返回一个对象。语法:

  
_.assign(target, [sources])

参数 object是一个目标对象 source是一个源对象

const source = {  
  name: "kiran",  
  id:12   
};  
const department = {  
  type: "Development"  
};  
  
console.log(_.assign(source, department)); // returns {name: "kiran", id: 12, type: "Development"}  
console.log(_.assign({id:3}, {id:5,name:"kiran"})); // returns {id: 5, name: "kiran"}  
  

Lodash对象扩展方法的例子

extend方法也通过复制对象.属性做同样的事情。扩展方法的工作原理与Lodash中的assignIn方法相同。

console.log(_.extend({id:3}, {id:5,name:"kiran"})); // returns {id: 5, name: "kiran"}  

使用merge方法合并对象

如果源对象包含子对象的属性,子对象的层次结构将被合并为目标子对象。请看下面的例子来理解

_.merge ({}, {name:{value:'value'}}, {name:{test:'testvalue'}}) // outputs {name:{value: "value", test:"testvalue"}}  

使用Javascript代码合并/连接对象

我们也可以使用object.assign()spread operator来实现两个对象的连接。 如果你不想使用lodash库,可以使用这种方式。使用lodash库的好处是它可以在旧版本的浏览器上工作。

javascript的优点是可以合并数组,而上述lodash方法对数组是不可能的。

使用object.assign()连接对象

object.assign()方法是作为ES6语言的一部分被引入到javascript中。它从源对象复制到目标对象,并返回一个新的合并对象。源对象和目标对象有不同的属性

console.log(Object.assign(source, department)); // returns {name: "kiran", id: 12, type: "Development"}  
console.log(Object.assign({},source, department)); // returns {name: "kiran", id: 12, type: "Development"}  

使用传播操作符合并对象

在ES6中引入了扩展运算符。三个点代表扩展运算符
语法是:

array

变量的扩展运算符在方法参数中使用,其中方法期望有零个或多个参数。

console.log({ ...source, ...department }); // returns {name: "kiran", id: 12, type: "Development"}