收藏
回答

js数组sort排序

框架类型 问题类型 操作系统 工具版本
小程序 Bug Windows 1806120

pxcs:function(){

        var that = this;

        var arr = new Array();

        arr = [["中猫猫er", "E7555大号", "包背带", "150", "0.16"], ["卜要见、卜要贱", "CA0913大", "包背垫", "333", "0.18"]];

        arr.sort(function (x, y) {

        return x[1].localeCompare(y[1]);

        });

        

        that.setData({

        arr:arr

        })

        console.log(this.data.arr);

        console.log(that.data.arr)

},

pxcs2: function () {

        var that = this;

        console.log(this.data.arr)

        console.log(that.data.arr);

        var an_arr = that.data.arr

        

        //以下这个排序为什么 会影响that.data.arr

        an_arr.sort(function (x, y) {

        return x[3].localeCompare(y[3]);

        });

},


回答关注问题邀请回答
收藏

3 个回答

  • 邓坤力
    邓坤力
    2018-06-24

    这是代码逻辑问题,建议给个代码片段(  https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html  ),这样大家可以更容易帮助到你  

    2018-06-24
    有用
    回复
  • 卢霄霄
    卢霄霄
    2018-06-25

    对象赋值是相当于传地址,赋值后是同一个地址。

     var an_arr = that.data.arr

    改为

     var an_arr = that.data.arr.concat()

     var an_arr = that.data.arr.slice()

     var an_arr = JSON.parse(JSON.stringify(that.data.arr))

    2018-06-25
    有用 1
    回复 1
    • 智能兴旺
      智能兴旺
      2018-06-25

      感谢帮助,解决了我的问题。

      2018-06-25
      1
      回复
  • 智能兴旺
    智能兴旺
    2018-06-24

    wechatide://minicode/aaJONpmF7pah    这是我的代码片段链接,以下是我的JS代码,wxml只有两个对应的按钮,谢谢各位!

    //index.js

    //获取应用实例

    const app = getApp()


    Page({

    data: {

    arr:[]

    },

    //事件处理函数

    pxcs: function () {

    var that = this;

    console.log(that.data.arr)

    var arr1 = new Array();

    arr1 = [["中猫猫er", "E7555大号", "包背带", "150", "0.16"], ["卜要见、卜要贱", "CA0913大", "包背垫", "333", "0.18"]];

    arr1.sort(function (x, y) {

    return x[1].localeCompare(y[1]);

    });



    that.setData({

    arr: arr1

    })

    console.log(this.data.arr);

    console.log(that.data.arr)

    },

    pxcs2: function () {

    var that = this;


    console.log('请注意arr数组的排列顺序,被莫名发生了变化')

    console.log(this.data.arr)

    console.log(that.data.arr);

    var an_arr = that.data.arr


    //以下这个排序为什么 会影响that.data.arr

    an_arr.sort(function (x, y) {

    return x[3].localeCompare(y[3]);

    });




    },


    })



    2018-06-24
    有用
    回复
登录 后发表内容