关于使用Javascript进行的数组克隆测试_ .slice(数字)_ .shift() <25/12/2017>
.
slice(
0);
//从对象的第0个位置提取(涵盖所有内容)
.
shift();
//shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
输出结果分析图:
首先,层级对象管理器和面板挂载:
其次,唯一脚本TestClone:
cc.Class({
extends: cc.Component,
properties: {
wallNodes: { //用来填充墙壁砖块的数组
default: [],
type: cc.Node,
},
wallTemps: { //一个空的准备拿来克隆砖块数组的
default: [],
type: cc.Node,
visible: false, //面板上不可视
serializable: false, //
}
},
onLoad: function () {
this.wallTemps = this.wallNodes.slice(0); //从对象的第0个位置提取(涵盖所有内容)
this.testCloneFunction(this.wallTemps);
},
testCloneFunction: function (wallTemps) {
var wallNode = wallTemps.shift(); //shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
console.log(wallNode.name); //打印砖块name
for (var i = 0; i < this.wallNodes.length; i++) {
console.log(this.wallNodes[i].name + "***" + this.wallNodes[i].x); //
}
for (var i = 0; i < wallTemps.length; i++) {
console.log(wallTemps[i].name + "!!!");
}
if (wallTemps.length > 0) {
return this.testCloneFunction(wallTemps);
}
},
});