js 对数组的各种操作

从数组中删除指定的子集:

export const removeByValue = (arr, val) => {
  for (var i = 0; i < arr.length; i++) {
    if (arr[i] === val) {
      arr.splice(i, 1);
      break;
    }
  }
  return arr
};

 

从对象数组中删除指定对象

export const removeByObject = (list:Array<object>, any: object) => {
  var newData = list.filter(function(item) {
    return item != any;
  });
  return newData
}

 

数组去重

export const unique = (list) => {
  var res = [];
  var json = {};
  for (var i = 0; i < list.length; i++) {
    if (!json[list[i]]) {
      res.push(list[i]);
      json[list[i]] = 1;
    }
  }
  return res;
};

 

根据index索引删除数组对象

export const removeByIndex = (array:Array<object>, index) => {
    if(index <= (array.length - 1)) {
        for (var i = index; i < array.length; i++) {
            array[i] = array[i + 1];
        }
    }
    else {
        swal({
            title:'超出最大索引',
            type:'error',
            showConfirmButton: true
        });
    }
    array.length = array.length - 1;
    return array;
};

 

数组转字符串 arr: 对象数组; id: 对象的某一属性

export const arrayTransferStr = (arr:Array<object>, id) => {
    let transStr = '';
    for(let item of arr) {
        let temStr = item[id] + ',';
        // console.log('tempStr:', transStr);
        transStr += temStr;
    }

    return transStr;
};

 

 

 

 

转载于:https://my.oschina.net/wsxiao/blog/3034206

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值