slice()
方法:
- 返回一个新的数组对象;
- 这一对象是一个由
begin
和end
决定的原数组的浅拷贝(包括begin
,不包括end
); - 原始数组不会被改变。
浅拷贝:
- 修改原数组,子数组对象也会随之改变
// 使用 slice 方法从 myCar 中创建一个 newCar。 var myHonda = { color: 'red', wheels: 4, engine: { cylinders: 4, size: 2.2 } }; var myCar = [myHonda, 2, "cherry condition", "purchased 1997"]; var newCar = myCar.slice(0, 2); // 输出 myCar、newCar 以及各自的 myHonda 对象引用的 color 属性。 console.log(' myCar = ' + JSON.stringify(myCar)); console.log('newCar = ' + JSON.stringify(newCar)); console.log(' myCar[0].color = ' + JSON.stringify(myCar[0].color)); console.log('newCar[0].color = ' + JSON.stringify(newCar[0].color)); // 改变 myHonda 对象的 color 属性. myHonda.color = 'purple'; console.log('The new color of my Honda is ' + myHonda.color); //输出 myCar、newCar 中各自的 myHonda 对象引用的 color 属性。 console.log(' myCar[0].color = ' + myCar[0].color); console.log('newCar[0].color = ' + newCar[0].color);
myCar = [{color: 'red', wheels: 4, engine: {cylinders: 4, size: 2.2}}, 2, 'cherry condition', 'purchased 1997'] newCar = [{color: 'red', wheels: 4, engine: {cylinders: 4, size: 2.2}}, 2] myCar[0].color = red newCar[0].color = red The new color of my Honda is purple myCar[0].color = purple newCar[0].color = purple
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/slice