1、删除数组中的某个对象
Array.prototype.indexOf = function(val) {
for (var i = 0; i < this.length; i++) {
if (this[i] == val) return i;
}
return -1;
};
Array.prototype.remove = function(val) {
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
};
var arr = ["2", "6", "8"];
var arr0 = ["1", "2", "3", "4", "5"];
//1、删除数组中的某个对象
arr0.remove("2")
//2、删除和另一个数组重复的对象
for (let i in arr0) {
for (let j in arr) {
if (i == j) {
arr0.remove(i)
}
}
}
2、判断俩数组是否全等
把俩数组分别转成字符串,而后俩字符串全等,即俩数组全等。
if (JSON.stringify(arr1) == JSON.stringify(arr)) {
alert(1)
//数组arr1 全等于 数组arr
}
3、判断数组为空
if(arr.length==0){
alert(1)
// 数组arr为空
}
4、删除两个数组有相同元素
var newArray=arr1.filter(function(item) {
return arr2.indexOf(item) == -1
});
js对象转数组的几种方法:
1、Object.values(object)
const obj = { 10: 'a', 11: 'b', 12: 'c' };
console.log(Object.values(obj) ) //["a","b","c"]
2、Object.keys(object)
const obj = { 10: 'a', 11: 'b', 12: 'c' };
console.log(Object.keys(obj) ) // ["10", "11", "12"]
3、Object.entries(object)
const obj = { 10: 'a', 11: 'b', 12: 'c' };
console.log(Object.entries(obj) )
4、 [{lable: “待付款”,value: “0”}, {lable: “待发货”,value: “1”}]
obj = {
0: "待付款",
1: "待发货"
}
var arr = []
for (const i in obj) {
arr.push({
lable: obj[i],
value: i
})
}
//console.log(arr) // [{lable: "待付款",value: "0"}, {lable: "待发货",value: "1"}]
5、[{type: “a”, sort: “11”},{type: “b”, sort: “22”}]
var obj= {
0: {type: "a", sort: "11"},
1: {type: "b", sort: "22"}
}
var arr1 = []
for (let i in obj) {
arr1.push(obj[i]);
}
// console.log(arr1); //[{type: "a", sort: "11"},{type: "b", sort: "22"}]
6、
var obj= {
0: {type: "a", sort: "11"},
1: {type: "b", sort: "22"}
}
var arr = []
for (let i in obj) {
let o = {};
o[i] = obj[i];
arr.push(o)
}
// console.log(arr) // [{0: {type: "a", sort: "11"}},{1: {type: "b", sort: "22"}}]
7、键值动态赋值
let keyLabel = "cc";
let keyValue = "callback";
let obj = {[keyLabel]:keyValue};
console.log(obj) //{cc,"callback"}
8、数组去重
function unique(arr) {
return Array.from(new Set(arr))
}
let arr1=[1,2,2,5,6,6,8]
console.log(this.unique(arr1))
9、排序后去重
unique(arr) {
let result = arr.sort((x, y) => {
return y - x
})
return Array.from(new Set(result))
},
数组与字符串相互转换:
数组 转 字符串
var arr= ["1", "2", "3"]
var str=arr.toString()
console.log(str) //'1,2,3'
或
let arr=['1','2','3'];
let arr1=arr.join(","); // string '1,2,3'
字符串 转 数组
let String = '1,3'
let Arr = String.split(/\s+/) //或者 let Arr = String.split(",")
console.log(Arr) // ["1", "3"]
例、String = '1,2’转成数组,并获取arr对应数组id的值,再获取新的数组
var arr=[{id:'1',lable:'山东'},{id:'2',lable:'北京'} , {id:'3',lable:'上海'}];
let String = '1,2'
let Arr = []
for (const q in String) {
Arr.push(String[q])
}
// console.log(Arr) //["1", ",", "2"]
var arr8 = []
Arr.forEach((item8, index) => {
var j = item8 - 1
if(arr[j]!=undefined){
arr8.push(arr[j])
}
})
// console.log(arr8) //[{id:'1',lable:'山东'},{id:'2',lable:'北京'}]