Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.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 从函数返回多个对象_Javascript_Function_Object - Fatal编程技术网

Javascript 从函数返回多个对象

Javascript 从函数返回多个对象,javascript,function,object,Javascript,Function,Object,在我的代码中,我希望函数wraponObject接受两个参数,并将它们封装到返回的对象中 我的代码: let FirstObject = { k: 'FirstObject' } let SecondObject = { l: 'SecondObject' } let wrapInObject = function(FirstObject, SecondObject){ return [FirstObject, SecondObject] } wrapInObjec

在我的代码中,我希望函数
wraponObject
接受两个参数,并将它们封装到返回的对象中

我的代码:

let FirstObject = {
    k: 'FirstObject'
}
let SecondObject = {
    l: 'SecondObject'
}

let wrapInObject = function(FirstObject, SecondObject){
    return [FirstObject, SecondObject]

}
wrapInObject('FirstObject','SecondObject')
ska将返回类似于
{k:'FirstObject',l:'SecondObject'}的对象。

但是我得到了一些错误:

index.js
    ✓ exists
    ✓ is valid JavaScript
    ✓ defines wrapInObject of the type Function
    1) defines wrapInObject such that it returns an object when called with the arguments 'FirstObject' and 'SecondObject'
    2) defines wrapInObject such that it returns an object with the same content as { k: 'FirstObject', l: 'SecondObject' } when called with the arguments 'FirstObject' and 'SecondObject'
    3) defines wrapInObject such that it returns the correct value when called with some other number arguments

我的代码有什么问题?

看起来您想合并这些对象

let wrapInObject = function(FirstObject, SecondObject){
    return {...FirstObject, ...SecondObject}
}
至于第三个测试用例,您可以这样做

let wrapInObject = function(...objects){
    return objects.reduce((acc, object) => {...acc, ...object}, {})
}

你的问题中引用的作业似乎含糊不清,措词不当,你描述的错误似乎将字符串称为对象。这就很难提供帮助(而且可能很难完成任务!)

首先,问题是您返回的是一个数组,但赋值要求您返回一个属性为
k
l
的对象。而不是:

return [FirstObject, SecondObject]; // <===== Incorrect

返回[FirstObject,SecondObject];// 问题是在该方法中传递的是
字符串
,而不是
对象
。修正了

让FirstObject={
k:“第一个对象”
}
让第二个对象={
l:“第二个对象”
}
让wrapInObject=函数(第一个对象,第二个对象){
返回[FirstObject,SecondObject]
}
log(wrapInObject(FirstObject,SecondObject))
仅返回最后两个错误:

defines wrapInObject such that it returns an object with the same content as { k: 'FirstObject', l: 'SecondObject' } when called with the arguments 'FirstObject' and 'SecondObject'

defines wrapInObject such that it returns the correct value when called with some other number arguments

我不认为这是关于合并对象的。请注意,参数被描述为字符串。@T.J.Crowder查看他的测试用例,我想不出其他解决方案使用第一个片段,只剩下最后两个错误。您能详细解释一下第二个代码段吗?@left4read123第二个代码段接受任意数量的参数,假设它们是对象,然后将所有参数合并到一个单独的代码段中object@left4read123你能把测试用例的输入和输出也贴出来吗?“定义wrapInObject,使其在使用参数'FirstObject'和'SecondObject'调用时返回一个对象”“坦率地说,不管这是什么课程或教程,它看起来都不是很好。您的问题中引用的问题描述含糊不清,错误列表似乎将字符串作为对象引用。@Andreas-我不这么认为,但请看我上面的评论,整个作业含糊不清,措词不当。@Andreas-但我本应将其关闭,即使副本可能不正确。A) 可能是的,而且B)无论如何,这个问题不应该公开。我的坏朋友。:-)
主要的问题是你返回一个数组,但是作业要求你返回一个对象
他们的意思是
数组
还是用“object”表示“object”,因为在JavaScript中,数组也是object?@RahulDwivedi-你省略了我句子中的一个重要部分:“…但是赋值要求你返回一个属性为
k
l
”;-)的对象,但是考虑到赋值的明显程度,我怀疑他们说“object”时的意思是“array”。数组确实是对象,但这是你以后通常会讨论的内容。
属性为k和l”
…啊,明白了!“但我不是故意漏掉的”:D
defines wrapInObject such that it returns an object with the same content as { k: 'FirstObject', l: 'SecondObject' } when called with the arguments 'FirstObject' and 'SecondObject'

defines wrapInObject such that it returns the correct value when called with some other number arguments