在React Native中如何基于单个元素生成数组?
单个对象转数组实现说明
直接写[obj]完全可以实现「将单个对象作为唯一元素生成新数组」的需求,这是JS原生支持的最简洁的实现方式,生成的数组长度为1,首位元素就是你传入的obj对象。
下面是几个需要注意的特殊场景:
- 引用关系问题:这种写法生成的数组和原
obj是引用绑定的,修改数组内元素的属性会同步影响原对象,反之亦然。如果需要切断引用,普通对象可以写成[JSON.parse(JSON.stringify(obj))],有特殊属性(比如函数、Symbol、循环引用)的对象可以根据你的技术栈选择对应的深拷贝方案再放入数组。 - 兼容obj本身是数组的场景:如果存在你拿到的
obj可能已经是数组的边界情况,要统一输出一维数组的话,可以用兼容写法:const arr = Array.isArray(obj) ? obj : [obj] - 如果你需要的不是把整个对象作为数组元素,而是提取对象的键、值或者键值对生成数组,可以分别用
Object.keys(obj)、Object.values(obj)、Object.entries(obj)实现。
示例代码:
const obj = { id: 1, content: '测试内容' } const arr = [obj] console.log(arr) // 输出:[{id: 1, content: '测试内容'}] console.log(arr.length) // 输出:1
内容的提问来源于stack exchange,提问作者newbie coder
相关产品推荐
相关产品推荐

