有如下数组1,需求是将该数组的前N项数据复制一份并插入到数组的最前面,比如前5个对象,需要的结果见数组2。
数组1:
depFinishArr: [
{
"key": 0,
"value": "产品1"
},
{
"key": 0,
"value": "总部2"
},
{
"key": 0,
"value": "研究部3"
},
{
"key": 0,
"value": "管理4"
},
{
"key": 0,
"value": "收益部5"
},
{
"key": 0,
"value": "交易部6"
},
{
"key": 0,
"value": "业务总部7"
},
{
"key": 0,
"value": "投资部8"
},
{
"key": 0,
"value": "收益部9"
},
{
"key": 0,
"value": "投资部10"
},
{
"key": 0,
"value": "投资部11"
},
{
"key": 0,
"value": "投资部12"
},
{
"key": 0,
"value": "投资部13"
}
],
数组2:
depFinishArr: [
{
"key": 0,
"value": "产品1"
},
{
"key": 0,
"value": "总部2"
},
{
"key": 0,
"value": "研究部3"
},
{
"key": 0,
"value": "管理4"
},
{
"key": 0,
"value": "收益部5"
},
{
"key": 0,
"value": "产品1"
},
{
"key": 0,
"value": "总部2"
},
{
"key": 0,
"value": "研究部3"
},
{
"key": 0,
"value": "管理4"
},
{
"key": 0,
"value": "收益部5"
},
{
"key": 0,
"value": "交易部6"
},
{
"key": 0,
"value": "业务总部7"
},
{
"key": 0,
"value": "投资部8"
},
{
"key": 0,
"value": "收益部9"
},
{
"key": 0,
"value": "投资部10"
},
{
"key": 0,
"value": "投资部11"
},
{
"key": 0,
"value": "投资部12"
},
{
"key": 0,
"value": "投资部13"
}
],
解决代码如下:
depFinishArr = [...JSON.parse(JSON.stringify(depFinishArr.slice(0, 5))), ...depFinishArr]
代码说明:
通过:slice() 函数找出前 n 项,然后使用 JSON.parse(JSON.stringify()) 或者 lodash 的 cloneDeep 深拷贝一份,避免引用错乱即可。
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Javascript 复制数组前N项数据到数组最前面的方法
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Javascript 复制数组前N项数据到数组最前面的方法