Javascript 在特定索引处传播对象的属性数组

标签 javascript reactjs

给定一个 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/

相关文章:

javascript - Plyr视频播放器: How to expose/access multiple players?

javascript - 如何用字符替换字符串中的所有元音?

javascript - 断点 css 未应用于 React-jss 中的 Prop

javascript - Tailwind CSS 不适用于 React App

javascript - 在 ReactJS 呈现的内容中延迟加载图像、视频和 iframe

Javascript - 多维数组排序 - 字符串和 Int - 按 Int 排序

javascript - 连接 .map() 值

javascript - 如何在 init 上未声明关键数据的情况下使用 vue js

javascript - react : Updated values is not coming in React-popup

javascript - 如何检测用户是否屏蔽了摄像头?