关于使用Javascript进行的数组克隆测试_ .slice(数字)_ .shift()

版权声明:⎝⎝⎝MaximilianLiu⎠⎠⎠ https://blog.csdn.net/MaximilianLiu/article/details/78897129

关于使用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);
        }
    },
});


猜你喜欢

转载自blog.csdn.net/MaximilianLiu/article/details/78897129