JavaScript判断、循环、Map、Set

本文是笔者在看廖雪峰老师JavaScript教程时的个人总结

一些判断条件

JavaScript把nullundefined0NaN和空字符串‘‘视为false,其他值一概视为true,因此上述代码条件判断的结果是true

循环

1.for(同C)

2.while (同C)

3.do while(同C)

变体  for...in

遍历对象  只遍历属性,没有属性对应的值

遍历数组  只遍历索引  遍历索引的结果是字符串不是numble 不是1 是‘1‘

so 数组也是对象,索引值是其属性

map

Map是一组键值对的结构,具有极快的查找速度。

初始化Map需要一个二维数组,或者直接初始化一个空Map

map方法  1.get(键)  得到值

2.set(键:值)  添加一个元素

3.has(键)   查找是否含有这个键   返回true  false

4.delete(键)  删除这个键

一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉

set

set是一组key的集合,但不包含value。而且key不能重复

重复元素自动被过滤掉

通过add()添加key

通过delete()删除key

iterable

这是一个类型

首先 遍历数组可以采用下标循环,但是遍历map和set就无法使用下标。so 为了统一iterable应景而生,array,map,set都属于iterable类型

属于iterable类型的集合可以使用for....of...循环来遍历

遍历 array set  值对值

遍历 map  x[0]:键  x[1]:值

for...in   和   for...of区别

for...in遍历的是对象的属性名称

for...of遍历的是对象的值

for...of只遍历集合的本身,后期加入的属性不进行遍历

放大招  :  iterable内置一个forEach方法,它接收一个函数,每次迭代就自动回调该函数

例子:

var a = [‘A‘, ‘B‘, ‘C‘];

a.forEach(function (element, index, array) {

// element: 指向当前元素的值

// index: 指向当前索引

// array: 指向Array对象本身

alert(element);

});

function (element, index, array) 这是一个匿名函数       三个参数名字自己定义  不过forEach传入参数的顺序是确定的,且分别代表的也是确定的。每向下迭代一次就执行该函数一次

Map的回调函数参数依次为valuekeymap本身

set的回调函数参数依次为element 、sameElement 和set本身

时间: 2024-10-13 08:00:19

JavaScript判断、循环、Map、Set的相关文章

ES6新特性:Javascript中的Map和WeakMap对象

Map对象 Map对象是一种有对应 键/值 对的对象, JS的Object也是 键/值 对的对象 : ES6中Map相对于Object对象有几个区别: 1:Object对象有原型, 也就是说他有默认的key值在对象上面, 除非我们使用Object.create(null)创建一个没有原型的对象: 2:在Object对象中, 只能把String和Symbol作为key值, 但是在Map中,key值可以是任何基本类型(String, Number, Boolean, undefined, NaN..

使用jquery/javascript判断及改变checkbox选中状态

一.使用jquery判断及改变checkbox选中状态 1.使用JQuery判断一个checkbox 是否为选中: (1).attr('checked) 看JQuery版本1.6+返回:"checked"或"undefined" ;1.5-返回:true或false (2).prop('checked') 1.6+:true/false (3).is(':checked') eg:$("input[type='checkbox']").is(':

javascript 判断数组中的重复内容的两种方法 by FungLeo

javascript 判断数组中的重复内容的两种方法 by FungLeo 前言 一般,我们可能会给数组去重,这个操作并不复杂,执行一个循环就是了.现在,我要做的是,判断数组中是否有重复的内容,如果有,返回 true 否则,返回 false. 思路 把数组变成字符串 循环原数组,拿每一个字段和这个字符串进行比对,看是否有重复 如何拿A字符串和B字符串进行对比,并且要求判断出B字符串中包含过个A字符串呢? 方法一 indexOf() 和 lastIndexOf() 对比法. 首先,我们构建代码:

JavaScript判断数据类型总结

最近做项目中遇到了一些关于javascript数据类型的判断处理,上网找了一下资料,并且亲自验证了各种数据类型的判断网页特效,在此做一个总结吧! 一.JS中的数据类型  1.数值型(Number):包括整数.浮点数. 2.布尔型(Boolean) 3.字符串型(String) 4.对象(Object) 5.数组(Array) 6.空值(Null) 7.未定义(Undefined) 二.判断一个变量的数据类型 1.数值型(number) 比较常用的判断方法是: 1 function isNumbe

JavaScript判断浏览器类型及版本

说明:以下内容参考了一些网上资料以及同事间的一些讨论. 浏览器对于我们来说,可能是最熟悉的工具了.记得最早那会Netscape,到后来的Internet Explorer一统江湖,再到现在的FireFox大行其道,浏览器市场的争夺,可谓是硝烟弥漫.除了我们常见的IE, Firefox, Opera, Safari四大金刚以外,新近又出了一位Chrome,虽然新出,但是出于Google这个名门,Chrome所受到的关注绝不亚于先前的四大金刚,看来以后要改为5朵金花了,呵呵.除了这些熟知的浏览器以外

asp.net或javascript判断是否手机访问

 Welcome to CSU Online Judge! 1112: 机器人的指令 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 274  Solved: 97 [Submit][Status][Web Board] Description 数轴原点有一个机器人.该机器人将执行一系列指令,你的任务是预测所有指令执行完毕之后它的位置. ·LEFT:往左移动一个单位 ·RIGHT: 往右移动一个单位 ·SAME AS i: 和第i 条执行相同的

JavaScript的循环结构和经典题目

一.JS中的循环结构 循环结构的执行步骤1.声明循环变量:2.判断循环条件;3.执行循环体操作:4.更新循环变量:5.然后循环执行2-4,直到条件不成立,跳出循环. while循环()中的表达式,运算结果可以是各种类型,但是最终都会转为真假,转换规则同if结构.代码如下: var num = 1; while (num<=10){//2.判断循环条件;document.write(num+"<br />");//3.执行循环体操作:num++;//4.更新循环变量:}

使用JavaScript判断图片是否加载完成的三种实现方式

有时需要获取图片的尺寸,这需要在图片加载完成以后才可以.有三种方式实现,下面一一介绍. 一.load事件 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>img - load event</title> </head> <body> <img id="img1" src="http:/

javascript 判断对象类型

typeof typeof是一个一元运算符,它返回的结果 始终是一个字符串,对不同的操作数,它返回不同的结果. 此表总结了typeof所有可能的返回值: 操作数类型 返回值 undefined "undefined" Null "object" Boolean "boolean" Number "number" String "string" 函数对象 "function" E4X XM

定时器运行原理 &amp;&amp; javascript事件循环模型

定时器是我们经常使用的一个异步函数,它的用处十分广泛,比如图片轮播.各种小的动画.延时操作等等:定时器函数只有两个setTimeout.setInterval,这两个工作原理相同,唯一的区别是:setTimeout只执行一次,setInterval循环执行:通过以下实例看看对定时器原理掌握程度: 定时器3个实例 首先声明这三个实例输出皆不同,先思考输出结果,以及为何不同 实例一: console.log('test1') for(var i=0;i<10;i++){ setTimeout(()=