js遍历数组和对象的方法

news/2024/7/19 16:29:44 标签: js

js_0">js遍历数组和对象的方法

数组

1.for循环

var arr=[1,2,3,4,5,6]
	for(var i=0;i<arr.length;i++){        //arr.length是数组的长度
		console.log("arr="+arr[i]);
	}

2.forEach

  • forEach()方法需要一个函数作为参数
  • 该方法没有返回值
  • 浏览器会在回调函数中传递三个参数,他们的作用分别为:
    第一个参数:就是当前正在遍历的对象
    第二个参数:就是当前正在遍历的对象的索引
    第三个参数:就是当前正在遍历的数组
var arr=[1,2,3,4,5,6];
		arr.forEach(function (value,index,array){
			console.log("第一个参数="+value);
//			console.log("第二个参数="+index);
//			console.log("第三个参数="+array);
		})

3.map

  • map函数,遍历数组每个元素,并回调操作,需要返回值,返回值组成新的数组,原数组不变
var arr = ['a', 'b', 'c', 'd'];
arr.map(function(item, index, array) {
    console.log(item, index);
})

4.filter()函数

  • 返回一个新数组,数组的元素是原数组中通过测试的元素(就是回调函数返回 true 的话,对应的元素会进入新数组), 原数组不变。
var arr=[1,"男",true,66];
		var result=arr.filter(function (value){	
			return typeof value === 'number';   //我们判断数据类型是否为Number,是则将其值返回
		})
		console.log (arr,result);

5.some()函数

  • 遍历数组中是否有符合条件的元素,返回值为Boolean值
    这个它只要找到一个符合条件的,就返回 true。
var arr=[1,"男",true,66];
		var result=arr.some(function (value){	
			return typeof value === 'number';
		})
		console.log (arr);
		console.log (result);
		
		var arr2=[1,null,true,66];
		var result2=arr2.some(function (value){	
			return typeof value === 'String';
		})
		console.log (arr2);
		console.log (result2);

6.every()函数

  • 测试数组的各个元素是否通过了回调函数的测试
  • 若都通过,返回 true,否则返回 false
  • 简单的说就是如果回调函数每次返回的值都是 true 的话,则 every() 返回 true,否则为 false。
var arr=[1,2,8,66];
		var result=arr.every(function (value){
			return typeof value === 'number';
		})
		console.log (arr);
		console.log (result);
		
		var arr2=[1,"男",true,66];
		var result2=arr2.every(function (value){	
			return typeof value === 'number';
		})
		console.log (arr2);
		console.log (result2);

7.find()函数

  • 返回第一个通过测试的元素
  • 如果没有通过测试的元素,则会返回undefined。
var arr=[1,2,8,66,"女","男"];
		var result=arr.find(function (value){	
			return typeof value === 'string';
		})
		console.log (arr);
		console.log (result);
		
		var arr2=[1,"男",true,66,false];
		var result2=arr2.find(function (value){
			return typeof value === 'boolean';
		})
		console.log (arr2);
		console.log (result2);

8.findIndex()函数

  • 这个函数与上面的find()作用一样,就是它返回的值为该通过第一个元素的索引。
var arr=[1,2,8,66,"女","男"];
		var result=arr.findIndex(function (value){
			return typeof value === 'string';
		})
		console.log (arr);
		console.log (result);
		
		var arr2=[1,"男",true,66,false];
		var result2=arr2.findIndex(function (value){
			return typeof value === 'boolean';
		})
		console.log (arr2);
		console.log (result2);

对象

1.for…in

  • 会遍历出对象的下标(也就是key值)

for(let i in obj){
    console.log(i,obj[i]);
}

2.Object.keys(obj)

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

Object.keys(obj).forEach(function(key){
    console.log(key,obj[key]); 
})

3.Object.getOwnPropertyNames(obj)

  • 遍历返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性).
Object.getOwnPropertyNames(obj).forEach( key => {
    console.log(key,obj[key]);
})

http://www.niftyadmin.cn/n/1836030.html

相关文章

非常实用的PHP常用函数汇总

1、PHP加密解密 PHP加密和解密函数可以用来加密一些有用的字符串存放在数据库里&#xff0c;并且通过可逆解密字符串&#xff0c;该函数使用了base64和MD5加密和解密。 function encryptDecrypt($key, $string, $decrypt){if($decrypt){$decrypted rtrim(mcrypt_decrypt(MCR…

非常奇怪的问题:动态创建的View设置Visibility不起作用(Android,已解决)

今天做Android开发时&#xff0c;碰到一个非常奇怪的问题&#xff0c;我在一个ViewGroup中&#xff0c;动态创建两个自定义的View&#xff0c;然后对它们进行setVisibility操作&#xff0c;结果悲剧了&#xff0c;自定义的View一点反应都没有。 大概的伪代码是这样子的&#xf…

面试题集锦_8

将二叉树的两个孩子换位置&#xff0c;即左变右&#xff0c;右变左。不能用递归 实现代码&#xff1a; 1 #include<stdio.h>2 #include<stdlib.h>3 typedef struct BiTNode{4 char data;5 struct BiTNode *lchild,*rchild;6 }BiTNode,*BiTree;7 8 typedef struct Q…

负载均衡----实现配置篇(Nginx)

还是图比较清晰&#xff0c;以下我都用别名称呼&#xff1a; PA &#xff1a; 负载均衡服务器/WEB入口服务器/www.mydomain.comP1 &#xff1a; WEB服务器/分身1/192.168.2.3P2 &#xff1a; WEB服务器/分身2/192.168.2.4P3 &#xff1a; WEB服务器/分身3/192.168.2.5 PS&…

Ubuntu-12.04下Hadoop相关的SSH配置中遇到的几个问题

1. Ubuntu缺省情况下不会启用root账户&#xff0c;一般是在安装时创建的那个用户&#xff0c;比如本人使用apollo作为用户名&#xff0c;在不使用root配置hadoop的时候&#xff0c;需要注意把/home/apollo目录设置权限为drwx------&#xff0c;缺省是drwxrwxrwx&#xff0c;不改…

HTTP返回状态值

200 &#xff08;成功&#xff09; 服务器已成功处理了请求。 通常&#xff0c;这表示服务器提供了请求的网页。 301 &#xff08;永久移动&#xff09; 请求的网页已永久移动到新位置。 服务器返回此响应&#xff08;对 GET 或 HEAD 请求的响应&#xff09;时&#xff0c;会自…

nginx和php的启动方式

今天发现公司有一台服务器有问题&#xff0c;经过检查 首先检查端口通不通 要检查端口要先在windows上装一个telnet客户端 等待安装好 装好之后查看端口是否是通的 打开 cmd 执行 telnet 47.101.54.26 81 服务器47.101.54.26的端口如果是通的直接会连上去的&#xff0c;…

计算方法之用高斯列主元消去法求线性方程组

/************************************* * 用高斯列主元消去法求线性方程组 * * 2*x1 2*x2 3*x3 3 *{4*x1 7*x2 7*x3 1 * -2*x1 4*x2 5*x3 -7 * **************************************/#include<stdio.h> #include<math.h> #include<conio.h> #i…