在数组中反应JS Duplicate对象

时间:2018-09-19 10:12:24

标签: javascript reactjs

我的constructor中有一个“ rails”数组,它们是导入的组件:

import MusicRail from '../../components/MusicRail';
import GamesRail from '../../components/GamesRail';
import MoviesRail from '../../components/MoviesRail';

constructor(props) {
   super(props);

   this.rails = [
      MusicRail,
     GamesRail,
     MoviesRail
  ]
}

如何克隆或复制第一个和最后一个对象,然后将其推入rails数组?我可以使用Object.assign()吗?

我从数组中获取第一个和最后一个对象,如下所示:

const rails = this.rails;
const firstObject = this.rails[0];
const lastObject = this.rails.slice(-1)[0];

2 个答案:

答案 0 :(得分:1)

Object.assignArray无关(至少在这种情况下),您可能想尝试一下。

const rails = this.rails;
const firstObject = this.rails[0];
const lastObject = this.rails.slice(-1)[0];
this.rails = [...rails, firstObject, lastObject]; 

,如果您要构建无限的滑块。

this.rails = [lastObject, ...rails, firstObject]; 

答案 1 :(得分:0)

使用myArray.slice()或lodash方法_.cloneDeep()

您还可以使用concat或传播运算符:

let newArray = [
     ...arr
]