数据处理
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)