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

浙公网安备 33010602011771号