Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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 编写一个名为stringFromObject的函数,从对象生成字符串';s键/值对_Javascript_Arrays_Javascript Objects_Helper - Fatal编程技术网

Javascript 编写一个名为stringFromObject的函数,从对象生成字符串';s键/值对

Javascript 编写一个名为stringFromObject的函数,从对象生成字符串';s键/值对,javascript,arrays,javascript-objects,helper,Javascript,Arrays,Javascript Objects,Helper,我试图编写一个名为stringFromObject的函数,该函数从对象的键/值对生成字符串 格式应为“键=值,键=值” 除最后一对外,每个键/值对都应该用逗号和空格分隔 到目前为止,我的代码是: //write function that accepts an obj. function stringFromObject(obj) { let result = ""; //loop over the object's properties and create a new str

我试图编写一个名为stringFromObject的函数,该函数从对象的键/值对生成字符串

格式应为“键=值,键=值”

除最后一对外,每个键/值对都应该用逗号和空格分隔

到目前为止,我的代码是:

    //write function that accepts an obj.
function stringFromObject(obj) {
  let result = "";
  //loop over the object's properties and create a new string
  //return format should be "key = value, key = value"
  for (let i in obj) {
    result += i + ' =' + obj[i];
  }
  result += '';
  //return a string 
  return result;
}

stringFromObject({ a: 1, b: '2' }); 
// "a = 1, b = 2"

输出应该是
/“a=1,b=2”
,但是,我返回
=>“a=1b=2”
。我对如何返回带值的两个键感到困惑,但省略了逗号?关于纠正什么有什么建议吗?

要在每个条目之间加一个逗号,最好有一个条目数组,您可以
.join
。您可以使用
Object.entries
获得一个条目数组,该数组提供键及其关联值-只需将它们与
=
连接在一起即可:

函数stringFromObject(obj){
返回Object.entries(obj)
.map(([key,val])=>`${key}=${val}`)
。加入(‘,’);
}

log(stringFromObject({a:1,b:'2'}))
要在每个条目之间加一个逗号,最好有一个条目数组,您可以
.join
。您可以使用
Object.entries
获得一个条目数组,该数组提供键及其关联值-只需将它们与
=
连接在一起即可:

函数stringFromObject(obj){
返回Object.entries(obj)
.map(([key,val])=>`${key}=${val}`)
。加入(‘,’);
}
log(stringFromObject({a:1,b:'2'}))还有一种方法:

function stringFromObject (obj) {
let result = "";
for (let i in obj) {
result += `${i} = ${obj[i]}, `;
}
result = result.slice(0, result.length -2);
return result;
}

stringFromObject({ a: 1, b: '2' });
还有一种方法:

function stringFromObject (obj) {
let result = "";
for (let i in obj) {
result += `${i} = ${obj[i]}, `;
}
result = result.slice(0, result.length -2);
return result;
}

stringFromObject({ a: 1, b: '2' });

@AndreButler除此之外,您没有获得预期输出的确切原因是,首先您在字符之间添加了字符串
'='
,该字符串在等号后不包含空格,这导致了第一个问题。您也从不在任何地方向字符串中添加逗号,因此您不能期望在字符串中显示逗号output@awarrier99谢谢你的反馈!我能够运行代码,它通过了@AndreButler除此之外,您没有获得预期输出的确切原因是,首先您在字符之间添加了字符串
'='
,该字符串在等号后不包含空格,这导致了第一个问题。您也从不在任何地方向字符串中添加逗号,因此您不能期望在字符串中显示逗号output@awarrier99谢谢你的反馈!我能够运行代码,它通过了!