Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
覆盖/合并JavaScript/jQuery中的两个对象 < >我希望我的用户输入覆盖默认值,但是如果数据不存在,默认值会填入空白。像这样: var userInput={ name:"Pat", color: "green" } var defaults={ name:"Trevor", color: "blue", state: "washington" } var finalObject=mergeObjects(userInput,defaults); //Should produce: { name:"Pat", color: "green", state: "washington" }_Javascript_Jquery - Fatal编程技术网

覆盖/合并JavaScript/jQuery中的两个对象 < >我希望我的用户输入覆盖默认值,但是如果数据不存在,默认值会填入空白。像这样: var userInput={ name:"Pat", color: "green" } var defaults={ name:"Trevor", color: "blue", state: "washington" } var finalObject=mergeObjects(userInput,defaults); //Should produce: { name:"Pat", color: "green", state: "washington" }

覆盖/合并JavaScript/jQuery中的两个对象 < >我希望我的用户输入覆盖默认值,但是如果数据不存在,默认值会填入空白。像这样: var userInput={ name:"Pat", color: "green" } var defaults={ name:"Trevor", color: "blue", state: "washington" } var finalObject=mergeObjects(userInput,defaults); //Should produce: { name:"Pat", color: "green", state: "washington" },javascript,jquery,Javascript,Jquery,jQuery是否可以进行这种合并/覆盖?我确实看到了,但它可以使用数组,并且不会像我需要的那样覆盖 有什么想法吗?您想要的,它明确用于合并两个或多个对象(参数的顺序与假设的mergeObjects方法相反): 您需要,它明确用于合并两个或多个对象(参数的顺序与假设的mergeObjects方法相反): jQuery可以做到这一点: var finalObject = $.extend({}, defaults, userInput); 请注意,$.extend()修改作为第一个参数传递的对象(

jQuery是否可以进行这种合并/覆盖?我确实看到了,但它可以使用数组,并且不会像我需要的那样覆盖

有什么想法吗?

您想要的,它明确用于合并两个或多个对象(参数的顺序与假设的
mergeObjects
方法相反):

您需要,它明确用于合并两个或多个对象(参数的顺序与假设的
mergeObjects
方法相反):

jQuery可以做到这一点:

var finalObject = $.extend({}, defaults, userInput);
请注意,
$.extend()
修改作为第一个参数传递的对象(并返回它),因此您可能希望传递一个空对象,以便您的
默认值
用户输入
。您可以传递任意多个对象,它们都将按照提供的顺序合并到第一个对象中(因此
默认值
位于
用户输入
之前,以获得所需的结果)。

var finalObject = $.extend({}, defaults, userInput);

请注意,
$.extend()
修改作为第一个参数传递的对象(并返回它),因此您可能希望传递一个空对象,以便您的
默认值
用户输入
。您可以传递任意多个对象,它们都将按照提供的顺序合并到第一个对象中(因此
defaults
userInput
之前出现,以获得所需的结果)。

了解您使用的工具:了解您使用的工具:在此示例中,值得明确注意的是,
默认值
被修改。这可能是一个问题,如果你这样做了很多次-你的默认值将不一样,因为他们在开始。在这种情况下,这可能是您想要的。值得注意的是,在本例中,
defaults
被修改。这可能是一个问题,如果你这样做了很多次-你的默认值将不一样,因为他们在开始。在这种情况下,这可能是你想要的。