如何在javascript / vuejs中创建对象的副本
这个问题在这里已经有了答案:
  您没有创建副本。  您正在将this.items的引用分配给itemsCopy数组。  因此,您稍后将对相同的数组进行变异。 
创建一个副本:
itemsCopy = this.items.slice();
数组内的每个对象都有同样的问题。 在你的循环中,创建一个对象的副本:
var obj = Object.assign({}, itemsCopy[i]);
obj.text = "something";
itemsCopy[i] = obj;  //replace the old obj with the new modified one.
演示:
var items = [
  {text: 'text1', active: true},
  {text: 'text1', active: true},
  {text: 'text1', active: true}
];
function copyAndChange() {
  var itemsCopy = []
  itemsCopy = items.slice();
  for (var i=0; i<itemsCopy.length; i++) {
    var obj = Object.assign({}, itemsCopy[i]);
    obj.text = "something";
    itemsCopy[i] = obj;  //replace the old obj with the new modified one.
    console.log('text from items: ' + items[i].text)
    console.log('text from itemsCopy: ' + itemsCopy[i].text)
  }
  return itemsCopy
}
copyAndChange();