将JavaScript语句转换为字符串

3

我有一个变量中的数组:

arr = [1, 2, 3]

如何将该语句转换为字符串:

newArr = "arr = [1, 2, 3]"


将数组元素转换为字符串,您可以使用数组的join()方法。 - undefined
6个回答

3

0
你可以试试这个:

const arr = [1,2,3];
const newArr = `arr = [${arr.toString()}]`;
console.log(newArr);

//And A more Dynamic  Solution would be:

console.log(`${Object.keys({arr})} = [${arr.toString()}]`);


当数组的名称不是arr时,该怎么办? - undefined
嗯 :) 你是指更具动态性的解决方案吗?让我看看是否有办法获取属性名称 :) - undefined
我认为动态解决方案是OP想要的。 - undefined
哇!这也是可能的!试着弄清楚... - undefined
@Alex:这样就可以了。检查一下我的更新答案...console.log(${Object.keys({arr})} = [${arr.toString()}]); - undefined
显示剩余3条评论


0
如果你是字面上的意思,你可以这样做:
const infoArray = [1, 2, 3];
const newArray = `infoArray = [` + infoArray.join(',') + "]";

0
newArr = "arr = [" + String(arr) + "]"

当arr的名称不是arr时,返回翻译后的文本。 - undefined
更改字符串中的消息。 - undefined
虽然这段代码可能回答了问题,但是提供关于为什么和/或如何回答问题的额外背景信息可以提高其长期价值。 - undefined

0

你可以将其写成一个函数,然后通过声明调用该函数。

const temp =  () => {
  arr = [1, 2, 3]
}
const src = temp.toString()
newArr = src.slice(9, src.length).slice(0, src.length - 1)


上面的代码在使用.toString()后结果是 '() => {\n arr = [1,2,3]}' 然后我们使用.slice来删除不需要的部分。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接