对象转数组

Posted Smile沛沛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象转数组相关的知识,希望对你有一定的参考价值。

对象转数组

let obj = {
1:2323,
4:3492,
8:2673
}
要求得到[2323, null, null, 3492, null, null, null, 2673, null, null, null, null]

  • 方法一:直接new Array().fill(null)然后map使用index对比
let obj = {
  1:2323,
  4:3492,
  8:2673
}

let arr = new Array(12).fill(null).map((item,index)=>{
  return obj[index+1]?obj[index+1]:item
})
  • 方法二:利用obj.length长度,然后Array.from
let obj = {
  1:2323,
  4:3492,
  8:2673
}
obj.length = 13	//因为要截取后面的12个
//Array.from(obj) 后的值[undefined, 2323, undefined, undefined, 3492, undefined, undefined, undefined, 2673, undefined, undefined, undefined,undefined]
Array.from(obj).slice(1).map(item=>{		//slice是动某个索引值开始
  return item?item:null
})
  • 方法三:利用object.keys
let obj = {
  1:2323,
  4:3492,
  8:2673
}
//Object.keys,是遍历对象中的所有key并且以数组的方式返回

let arr = new Array(12).fill(null)
Object.keys(obj).forEach(item=>{
  arr[parseInt(item)-1] = obj[item]
})

基本的数组相关的方法

以上是关于对象转数组的主要内容,如果未能解决你的问题,请参考以下文章

java中把json怎么转换成数组

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”

java中把json怎么转换成数组?

为什么我不能在此片段中生成唯一对象数组?

怎么将json对象添加进json数组中

Alamofire 文件上传出现错误“JSON 文本未以数组或对象开头,并且允许未设置片段的选项”