数据处理

1.字符串转数组

var str = '1,2,3,4,巴德,merge';
var arr = str.split(',');
console.log(arr);     // ["1", "2", "3", "4", "巴德", "merge"]   数组
console.log(arr[4]);  // 巴德

2.数组转字符串

var str = '1,2,3,4,巴德,merge';
var arr = str.split(',');
console.log(arr);     // ["1", "2", "3", "4", "巴德", "merge"]   数组
console.log(arr[4]);  // 巴德

3.字符串转数组,数组转数组格式化,数组格式化转数组

var str = '1,2,3,4,巴德,merge';
var arr = str.split(',');
var strify = JSON.stringify(arr);
console.log(arr);       // ["1", "2", "3", "4", "巴德", "merge"]   数组
console.log(arr[4]);    // 巴德
console.log(strify);    // ["1", "2", "3", "4", "巴德", "merge"]   字符串

var arrParse = JSON.parse(strify);
console.log(arrParse);  // ["1", "2", "3", "4", "巴德", "merge"]   数组

4.数组转数组json

var arr=['1','2','3'];
var arr2=[];
for(let i=0; i<arr.length;i++){
  arr2.push({'num':arr[i]})
} console.log(arr2); // [{"num":"1"},{"num":"2"},{"num":"3"}] 数组json
console.log(arr2[0].num); // 1

5.ajax请求接口取一个字符串存数组

6.concat数组

var arr=[];
arr.push(请求回来的值) console.log(arr); // ['请求回来的值','请求回来的值','请求回来的值'] 数组

7.两个数组循环,找到相对应的值

  let robot_statusarr=item.robot_status.split(',');
  let robot_namearr=item.Robort_name.split(',');
  let userobotname = [];
  console.log(robot_statusarr,robot_namearr,'12345589')
  robot_statusarr.forEach((v,i) =>{
   if(v == "1"){
    userobotname.push(robot_namearr[i]); 循环一个数组,将下标push到另一个数组里,就能找到对应的值了
   }
   return false;
})
 
8.JSON 转换
  object --> String  JSON.stringify()
  String --> object  JSON.parse()
 
9.数组最后一个数
  let arr =[1,2,3,4,5,6]
  console.log(arr.length-1) //得到的数是6
 

 10.数组排序

function compare(num){
//数组排序
  return function (a,b){
    var value1 = a[num];
    var value2 = b[num];
    return value1 - value2;
  }
}
调用:arr.sort(this.compare('字段名称')
11.去除一个数组中与另一个数组中的值相同的元素
function array_diff(a, b) {
  //去除一个数组中与另一个数组中的值相同的元素
  for(var i=0;i<b.length;i++){
    for(var j=0;j<a.length;j++){
      if(a[j]==b[i]){
        a.splice(j,1);
        j=j-1;
      }
    }
  }
  return a;
},
 
12.对象里插入数组
   let navlist={ };
  if(navlist['brand_'+id]){
  //判断这个对象是否为空,
  navlist['brand_'+id]=[];
  navlist['brand_'+id].push(数据)
  }else{
  navlist['brand_'+id].unshift(数据)
  }
 
13.一个数组里去重
  let arr =['001','001','002','001','001','001','001','001','002','001'];
  arr = [...new Set(arr)];  //arr = ['001','002'];  
  arr =  Array.from(new Set(arr)); //arr = ['001','002'];
 
14.两个数组对比,保留两个数组中不同的数据

  let arr1 = [1,2,3,4];
  let arr2 = [1,2,3,4,5,6,7]
  for(let i = 0;i < arr1.length;i ++){
    for(let x = 0;x < arr2.length;x ++){
      if(arr1[i] === arr2[x]){
        arr2.splice(x,1)
      }
    }
  }
  console.log(arr2,'去除前面一个数组相同的')

15.数组包对象,取相同日期的名称

  

//要求 取出相同的日期的名称
		var json= [
	            [{'name':'xiaoming','data':'2017-02-03'}],
	            [{'name':'xiaohua','data':'2017-02-04'}],
	            [{'name':'xiaodi','data':'2017-02-04'}],
	            [{'name':'jjjj','data':'2017-02-05'}],
		    ]
		    function change(arr){
                if(Array.isArray(arr)&&arr.length){
                    var newObj={},obj,_obj,data,len=arr.length;
                    for(var i=0;i<len;i++){
                        obj=arr[i][0];
                        data=obj.data;
                        _obj={"name":obj.name}
                        if(data in newObj){
                            newObj[data].push(_obj);
                        }else{
                            newObj[data]=[_obj];
                        }
                    }
                     console.log(JSON.stringify(newObj));
                    return newObj;
                }else{
                    return false;
                }
            }
            change(json);
            
			//二维数组操作:
            var arr = [];var arr2 = [];
            for (var i = 0;i<json.length;i++){
                // if(arr.indexOf(json[i][0].data)<0){
                    arr.push(json[i][0].data)
                // }
            }   
            console.log(arr,'取出时间')
            for(var i =0;i<arr.length;i++){ 
                arr2[i]=[]
                arr2[i].index = arr[i]
                for (var j = 0;j<json.length;j++){
                    if(arr[i]==json[j][0].data){
                        arr2[i].push(json[j][0].name)
                    }
                }
            }
            console.log(arr2,'相同时间的name')
            var obj = {}
            for (var i = 0;i<arr2.length;i++){
                var key=arr2[i].index;
                       obj[key]=[]
                for (var j = 0;j<arr2[i].length;j++){
                    var val = {}
                    val.name = arr2[i][j]
                    obj[key].push(val)      
                }   
            }
            console.log(obj)
            var str = JSON.stringify(obj)
            document.write(str)

  





原文地址:https://www.cnblogs.com/zhoubingyan/p/8617463.html