在 lodash 中添加对象的新属性
Add new properties of object in lodash
我有两个对象,我想将对象 A 的属性添加到对象 B,我尝试使用 extend,但它不起作用,我需要使用不同的东西吗?
a = {
name = "value"
name2 = "value2"
}
b = {
name3 = "value"
name4 = "value2"
}
我希望 A 包含两者
a = {
name = "value"
name2 = "value2"
name3 = "value"
name4 = "value2"
}
_.extend
(现在称为 _.assign
)确实是您这样做的方式:
_.assign(a, b);
实例:
const a = {
name: "value",
name2: "value2",
};
const b = {
name3: "value",
name4: "value2",
};
_.assign(a, b);
console.log(JSON.stringify(a, null, 2));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.16.6/lodash.min.js"></script>
尽管从 ES2015 开始,您不需要 Lodash,您可以使用原生 Object.assign
:
实例:
const a = {
name: "value",
name2: "value2",
};
const b = {
name3: "value",
name4: "value2",
};
Object.assign(a, b);
console.log(JSON.stringify(a, null, 2));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.16.6/lodash.min.js"></script>
我相信您想使用 lodash merge
函数,而不是 extend
。参见:Lodash - difference between .extend() / .assign() and .merge()
首先,您定义的对象不正确。对象必须写成 name:value
对,由 冒号 分隔(而不是等号)。此外,您必须使用逗号分隔符来分隔对象的属性,例如:
var person = {
firstName: "Matthias",
lastName: "Eckhart",
eyeColor: "blue"
};
通过lodash, you can use _.assign(object, [sources], [customizer], [thisArg])
扩展具有各种属性的对象:
var a = {
name: "value",
name2: "value2"
};
var b = {
name3: "value",
name4: "value2"
};
_.assign(a, b); // extend
console.log(a);
<script src="https://raw.githubusercontent.com/lodash/lodash/3.10.1/lodash.min.js"></script>
我有两个对象,我想将对象 A 的属性添加到对象 B,我尝试使用 extend,但它不起作用,我需要使用不同的东西吗?
a = {
name = "value"
name2 = "value2"
}
b = {
name3 = "value"
name4 = "value2"
}
我希望 A 包含两者
a = {
name = "value"
name2 = "value2"
name3 = "value"
name4 = "value2"
}
_.extend
(现在称为 _.assign
)确实是您这样做的方式:
_.assign(a, b);
实例:
const a = {
name: "value",
name2: "value2",
};
const b = {
name3: "value",
name4: "value2",
};
_.assign(a, b);
console.log(JSON.stringify(a, null, 2));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.16.6/lodash.min.js"></script>
尽管从 ES2015 开始,您不需要 Lodash,您可以使用原生 Object.assign
:
实例:
const a = {
name: "value",
name2: "value2",
};
const b = {
name3: "value",
name4: "value2",
};
Object.assign(a, b);
console.log(JSON.stringify(a, null, 2));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.16.6/lodash.min.js"></script>
我相信您想使用 lodash merge
函数,而不是 extend
。参见:Lodash - difference between .extend() / .assign() and .merge()
首先,您定义的对象不正确。对象必须写成 name:value
对,由 冒号 分隔(而不是等号)。此外,您必须使用逗号分隔符来分隔对象的属性,例如:
var person = {
firstName: "Matthias",
lastName: "Eckhart",
eyeColor: "blue"
};
通过lodash, you can use _.assign(object, [sources], [customizer], [thisArg])
扩展具有各种属性的对象:
var a = {
name: "value",
name2: "value2"
};
var b = {
name3: "value",
name4: "value2"
};
_.assign(a, b); // extend
console.log(a);
<script src="https://raw.githubusercontent.com/lodash/lodash/3.10.1/lodash.min.js"></script>