微信小程序 删除数组中指定的对象

一、封装删除函数 util.js

/**
 * 删除数组中的某一个对象
 * @param arr {Array} 数组
 * @param obj {Object} 需要删除的对象
 * @returns {Array} 处理之后的数组
 */
const arrRemoveObj = (arr, obj) => {
  let len = arr.length;
  for (let i = 0; i < len; i++) {
    if (arr[i] === obj) {
      if (i === 0) {
        arr.shift();
        return arr;
      } else if (i === len - 1) {
        arr.pop();
        return arr;
      } else {
        arr.splice(i, 1);
        return arr;
      }
    }
  }
};

module.exports = {
  arrRemoveObj: arrRemoveObj,
};

二、使用方法

/**在页面中引入util.js */
const _UTIL = require("../../../utils/util.js");

Page({
    data: {
        jobList: [{id: "1"},{id: "2"},{id: "3"},{id: "4"},{id: "5"},{id: "6"},],
    },
    onLoad(e) {
        /**设置删除第几个 */
        let idx = 0;
        let jobList = this.data.jobList;

        _UTIL.arrRemoveObj(jobList, jobList[idx]);

        this.setData({
            jobList:jobList
        })
    }
})

三、输出结果

// 删除之前
[{id: "1"},{id: "2"},{id: "3"},{id: "4"},{id: "5"},{id: "6"},]

// 删除之后
[{id: "2"},{id: "3"},{id: "4"},{id: "5"},{id: "6"},]

参考:JavaScript shift() 方法 、JavaScript pop() 方法JavaScript splice() 方法

posted @ 2019-08-21 10:52  dearyang  阅读(90)  评论(0)    收藏  举报