传播运算符在 console.log 中工作,但在尝试返回或设置变量时不起作用 [重复]
Posted
技术标签:
【中文标题】传播运算符在 console.log 中工作,但在尝试返回或设置变量时不起作用 [重复]【英文标题】:Spread operator working in console.log and not working when trying to return or set in variable [duplicate] 【发布时间】:2021-07-10 08:05:50 【问题描述】:所以,我有一个扩展运算符的问题,现在真的很烦我。我搜索了很多,但没有任何帮助。
当我使用 console.log(...val)
时,它完美地显示数据而没有任何错误,但是当我尝试 const data = ...val
时,它会抛出错误“预期表达式”
stats &&
stats.map(val =>
const title = Object.keys(val)[0]
const values = Object.values(val)
console.log('*************', ...values)
return (
<div className="stats__stats--chart">
<div className="chart-name">
<h3>title</h3>
</div>
<div className="chart-data">
<DataChart data=values />
</div>
</div>
)
)
我正在使用 React 和 Typescript,并且我知道这应该可以工作,因为我以前做过。
const values
是一个 2D 数组,内部数组保存对象,我想从该数组中提取所有数组,以便可以将它与该图表一起使用,但扩展运算符以某种方式损坏。是否有某种配置可以解决这个问题?这有什么问题
【问题讨论】:
There is no spread operator! 所以,它有点“坏”,就像“它永远无法工作,也从未打算工作”一样。如果您需要Merge/flatten an array of arrays,那么您需要data = val.flat()
,但我什至不确定这是否是您所追求的,因为console.log(val)
仍会向您展示一堆绝对不是的数组你会从.flat()
得到什么
这正是我所需要的,谢谢。您可以发布答案以便我批准吗?以及为什么它在 console.log() 中起作用
【参考方案1】:
我不确定您如何使用这些值,但如果您使用 DataChart 组件中的数据,您应该使用 [...data[0], ...data[1]] 作为变量。
【讨论】:
以上是关于传播运算符在 console.log 中工作,但在尝试返回或设置变量时不起作用 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
整数文字 '115000159351' 在存储到 'Int' 时溢出,但在一个项目中工作正常,但在另一个项目中工作正常 - Swift
jquery 不在部署中工作,但在本地 nuxtjs 中工作?
Jquery 表单提交不能在 chrome 中工作,但在 Firefox 中工作