如何通过 javascript 中的两个对象创建新对象
How to create new object by two objects in javascript
我想知道如何通过 javascript 中的两个对象创建新对象。
遍历 obj1,并添加 obj2 值,在 javascript
中创建新对象
function getObject(obj1, obj2){
let result={};
Object.keys(obj1).forEach(key=>{
if(key==="start" || key==="end"){
result.time= obj1.start+"-"+obj1.end,
result.qty= obj2.qty
}
})
}
var obj1 ={
start: "16:01", end: "23:59", totalqty: 1065, totalamount: 8229170
}
var obj2 = {
qty: 10,
amt: 120
}
预期输出
{
time: "16:01-23:59"
val: 10 // represents obj2.qty,
totalqty: 1065,
totalamount: 8229170,
price: 120
}
您可以编写一个函数并获得所需的属性:
var obj1 ={
start: "16:01", end: "23:59", totalqty: 1065, totalamount: 8229170
}
var obj2 = {
qty: 10,
amt: 120
}
const merge = (obj1, obj2) => {
return {
time: obj1.start + '-' + obj1.end,
val: obj2.qty,
totalqty: obj1.totalqty,
totalamount: obj1.totalamount,
price: obj2.amt
};
}
console.log(merge(obj1, obj2));
此外,您可以使用spread
语法,但它会合并所有属性:
let obj1 ={
start: "16:01", end: "23:59", totalqty: 1065, totalamount: 8229170
}
let obj2 = {
qty: 10,
amt: 120
}
let merged = {...obj1, ...obj2};
console.log(merged );
或尝试使用 Object.assign()
并且它还合并了所有属性:
var obj1 ={
start: "16:01", end: "23:59", totalqty: 1065, totalamount: 8229170
}
var obj2 = {
qty: 10,
amt: 120
}
var result = Object.assign({}, obj1, obj2);
console.log(result);
您可以解构对象,重命名一些属性并return一个新对象。
const
merge = ({ start, end, totalqty, totalamount }, { qty: val, amt: price }) =>
({ time: start + "-" + end, val, totalqty, totalamount, price}),
obj1 = { start: "16:01", end: "23:59", totalqty: 1065, totalamount: 8229170 },
obj2 = { qty: 10, amt: 120 };
console.log(merge(obj1, obj2));
我想知道如何通过 javascript 中的两个对象创建新对象。
遍历 obj1,并添加 obj2 值,在 javascript
中创建新对象function getObject(obj1, obj2){
let result={};
Object.keys(obj1).forEach(key=>{
if(key==="start" || key==="end"){
result.time= obj1.start+"-"+obj1.end,
result.qty= obj2.qty
}
})
}
var obj1 ={
start: "16:01", end: "23:59", totalqty: 1065, totalamount: 8229170
}
var obj2 = {
qty: 10,
amt: 120
}
预期输出
{
time: "16:01-23:59"
val: 10 // represents obj2.qty,
totalqty: 1065,
totalamount: 8229170,
price: 120
}
您可以编写一个函数并获得所需的属性:
var obj1 ={
start: "16:01", end: "23:59", totalqty: 1065, totalamount: 8229170
}
var obj2 = {
qty: 10,
amt: 120
}
const merge = (obj1, obj2) => {
return {
time: obj1.start + '-' + obj1.end,
val: obj2.qty,
totalqty: obj1.totalqty,
totalamount: obj1.totalamount,
price: obj2.amt
};
}
console.log(merge(obj1, obj2));
此外,您可以使用spread
语法,但它会合并所有属性:
let obj1 ={
start: "16:01", end: "23:59", totalqty: 1065, totalamount: 8229170
}
let obj2 = {
qty: 10,
amt: 120
}
let merged = {...obj1, ...obj2};
console.log(merged );
或尝试使用 Object.assign()
并且它还合并了所有属性:
var obj1 ={
start: "16:01", end: "23:59", totalqty: 1065, totalamount: 8229170
}
var obj2 = {
qty: 10,
amt: 120
}
var result = Object.assign({}, obj1, obj2);
console.log(result);
您可以解构对象,重命名一些属性并return一个新对象。
const
merge = ({ start, end, totalqty, totalamount }, { qty: val, amt: price }) =>
({ time: start + "-" + end, val, totalqty, totalamount, price}),
obj1 = { start: "16:01", end: "23:59", totalqty: 1065, totalamount: 8229170 },
obj2 = { qty: 10, amt: 120 };
console.log(merge(obj1, obj2));