您的位置:首页 > 其它

过滤数组中重复的值 及 对象、数组遍历总结

2018-03-22 17:43 459 查看

一.过滤数组中重复的值

var arr = [1,2,3,4,5];
var resultArr = [];//去重后的数组
var flag;
for (var i in arr){
flag = true;
for (var j in resultArr) {
if (resultArr[j].id == arr[i].id) {
flag = false;
break;
}
}
if (flag) {
resultArr.push(arr[i]);
}
}


二.对象、数组遍历总结

javaScript遍历数组总结

1、使用Object.keys()遍历

返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性).

var obj = {'0':'a','1':'b','2':'c'};
Object.keys(obj).forEach(function(key){

console.log(key,obj[key]);
// 0 a
// 1 b
// 2 c

});


2、使用for..in..遍历

循环遍历对象自身的和继承的可枚举属性(不含Symbol属性).

var obj = {'0':'a','1':'b','2':'c'};

for(var i in obj) {

console.log(i,":",obj[i]);
// 0:a
// 1:b
// 2:c

}


3、使用Object.getOwnPropertyNames(obj)遍历

返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性).

var obj = {'0':'a','1':'b','2':'c'};
Object.getOwnPropertyNames(obj).forEach(function(key){

console.log(key,obj[key]);
// 0 a
// 1 b
// 2 c

});


4、使用Reflect.ownKeys(obj)遍历

返回一个数组,包含对象自身的所有属性,不管属性名是Symbol或字符串,也不管是否可枚举.

var obj = {'0':'a','1':'b','2':'c'};
Reflect.ownKeys(obj).forEach(function(key){

console.log(key,obj[key]);
// 0 a
// 1 b
// 2 c

});


javaScript遍历数组总结

1、使用forEach遍历

var arr=[1,2,3,4];

arr.forEach(function(val, index) {

console.log(val, index);
// 1 0
// 2 1
// 3 2
// 4 3
4000

});


2、使用for..in..遍历

var arr=["张三","李四","王五","赵六"];

for (var i in arr){

console.log(i,":",arr[i]);
// 0:张三
// 1:李四
// 2:王五
// 3:赵六

}


3、使用for-of遍历

不仅支持数组,还支持大多数类数组对象,例如DOM NodeList对象.

也支持字符串遍历,它将字符串视为一系列的Unicode字符来进行遍历.

var arr=["张三","李四","王五","赵六"];

for (var value of arr){

console.log(value);
// 张三
// 李四
// 王五
// 赵六

}


对象、数组遍历总结转自:https://www.cnblogs.com/chenyablog/p/6477866.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: