给定一个 react 钩子(Hook)和一个具有数组属性的对象,我想找到一种通过在特定属性索引处使用扩展运算符来更新钩子(Hook)的方法。这是一个示例,我想获取每个属性中数组的索引 0
并将其展开
const [{ a, b, c }, setState] = useState({ a : 'x', b : 'x', c : 'y' })
const temp = {
a : ['x1', 'y1'],
b : ['x2', 'y2'],
c : ['x3', 'y3']
}
setState({...temp[0]})
/* Expected to be spread onto
* setState({
* a : 'x1',
* b : 'x2',
* c : 'x3'
* })
*/
我该如何实现这一目标?我使用展开运算符是否从错误的地方开始?
我尝试过的事情
- 尝试查看
.filter()
但无法使其工作 - 尝试使用
[0]
位置和其他语法,但也没有成功
最佳答案
您可以映射Object.entries
然后将结果转换为对象 Object.fromEntries
.
const temp = {
a : ['x1', 'y1'],
b : ['x2', 'y2'],
c : ['x3', 'y3']
}
let res = Object.fromEntries(Object.entries(temp).map(([k,[v]])=>[k, v]));
console.log(res);
关于Javascript 在特定索引处传播对象的属性数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71552321/