js - 对数组的各项操作(删除某一项、去重、数组对象和一般数组相互转换、给每项加前缀)

一、删除数组中的某一项

function removeArrByValue (array, val) {
        for (var i = 0; i < array.length; i++) {
            if (array[i] == val) {
                array.splice(i, 1);
                break;
            }
        }
        return array;
  }
 
 或者
 
 function removeArrByValue (array, val) {
        array.forEach((item,index)=>{
            if(item==val){
               array.splice(index, 1);
            }
          })
        return array;
    }

二、数组去重

封装的方法:

    unique(arr) {
      var list= [];
      for (var i = 0; i < arr.length; i++) {
        if (list.indexOf(arr[i]) == -1) {
          list.push(arr[i]);
        }
      }
      return list;
    }

使用例子:

let masList=[1,3,2,5,6,12,31,45,2,3,4,5,1,8];
let gList = this.unique(masList);
console.log(gList);   // 输出结果:  [6,12,31,45,8]

三、数组对象和一般数组之间的转换

(1)将一般数组转为对象数组
封装的方法:

function changeArrObj(list){
	let arrList = [];
	for (let i in list) {
	    arrList.push(list[i]);
	}
	for (var i = 0; i < arrList.length; i++) {
	      var j = {};
	      j.id = i;
	      j.src = arrList[i];
	      arr.push(j);
	}
	return arr;
}

使用例子:

let imgList= [ "../../beehive-scenes.jpg_180x180xzq90.jpg_.webp", "../../180x180xzq90.jpg_.webp", "../../dgshop.jpg_180x180xzq90.jpg_.webp" ]
let arrs = changeArrObj(imgList);
console.log(arrs);
  
// 运行结果
/* *
  [
           {
              id: 0,
             src:  "../../beehive-scenes.jpg_180x180xzq90.jpg_.webp"
          },
         {
              id: 1,
             src:   "../../180x180xzq90.jpg_.webp"
          },
            {
              id: 2,
             src: "../../dgshop.jpg_180x180xzq90.jpg_.webp"
       }
   ]
*/

(2)将数组对象转为一般数组
封装的方法:

/**
list  要转换的数组
check	组成新数组的每一项
*/
function  changeArr(list,check){
	  let arrList = [];
      for( let i = 0; i< list.length;i++) {
        arrList.push(list[i].check);
      } 
      return arrList;
}

使用例子:

let   imgList= [
           {
              id: 0,
             src:  "../../beehive-scenes.jpg_180x180xzq90.jpg_.webp"
          },
        {
              id: 1,
             src:   "../../beehive-scenes.jpg_180x180xzq90.jpg_.webp"
          }
   ]
   let arr = changeArr(imgList,src);
   console.log(arr);

// 运行结果:
//  [  "../../beehive-scenes.jpg_180x180xzq90.jpg_.webp", "../../beehive-scenes.jpg_180x180xzq90.jpg_.webp"]

四、给数组的每一项加前缀

封装的方法:

/**
*     pre   要添加的前缀
*     paramsList   要加前缀的数组
*/
 addFirst(pre,paramsList) {
      let arr = [];
      for (let i = 0; i < paramsList.length; i++) {
        arr.push(pre + paramsList[i]);
      }
      return arr;
 }

使用例子:

  let arr= ['aa.jpg','bb.jpg','cc.png','gg.png'];
  let newArr = addFirst("http://",arr);
  console.log(newArr);  // 运行结果:  ['http://aa.jpg','http://bb.jpg','http://cc.png','http://gg.png'];
发布了44 篇原创文章 · 获赞 8 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/LiaoFengJi/article/details/101050582