//for 循环

var array = [,,,,,,];
for (var i = ; i < array.length; i++) {
console.log(i,array[i]);
}
//for in
var array = [,,,,,,];
for(let index in array) {
console.log(index,array[index]);
};

//forEach

var array = [,,,,,,];
array.forEach(v=>{
console.log(v);
});
//或者
var array = [,,,,,,];
array.forEach(function(v){
console.log(v);
});

//for in 循环对象

var A = {a:,b:,c:,d:"hello world"};
for(let k in A){
console.log(k,A[k]);
}

//在ES6中,增加了一个for of循环

var array = [,,,,,,];
for(let v of array) {
console.log(v);
}
let s = "helloabc";
for(let c of s) {
console.log(c);
}

//Map,Set,for of

var set = new Set();
set.add("a").add("b").add("d").add("c");
var map = new Map();
map.set("a",).set("b",).set(,);
for (let v of set) {
console.log(v);
}
console.log("--------------------");
for(let [k,v] of map) {
console.log(k,v);
}

//原生javascript遍历

let array1 = ['a','b','c'];
for (let i = ;i < array1.length;i++){
console.log(array1[i]); // a b c
}

//forEach() 方法对数组的每个元素执行一次提供的函数。总是返回undefined;
//map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。返回值是一个新的数组;

var array1 = [,,,,];
var x = array1.forEach(function(value,index){
console.log(value); //可遍历到所有数组元素
return value +
});
console.log(x); //undefined 无论怎样,总返回undefined var y = array1.map(function(value,index){
console.log(value); //可遍历到所有数组元素
return value +
});
console.log(y); //[11, 12, 13, 14, 15] 返回一个新的数组

// 因为迭代的顺序是依赖于执行环境的,所以数组遍历不一定按次序访问元素。 因此当迭代那些访问次序重要的 arrays 时用整数索引去进行 for 循环

let array2 = ['a','b','c']
let obj1 = {
name : 'lei',
age : ''
} for(variable in array2){ //variable 为 index
console.log(variable ) //0 1 2
} for(variable in obj1){ //variable 为属性名
console.log(variable) //name age
}

//for...in循环会遍历一个object所有的可枚举属性。
//for...of会遍历具有iterator接口的数据结构
//for...in 遍历(当前对象及其原型上的)每一个属性名称,而 for...of遍历(当前对象上的)每一个属性值

Object.prototype.objCustom = function () {};
Array.prototype.arrCustom = function () {}; let iterable = [, , ];
iterable.foo = "hello"; for (let i in iterable) {
console.log(i); // logs 0, 1, 2, "foo", "arrCustom", "objCustom"
}
for (let i of iterable) {
console.log(i); // logs 3, 5, 7
}

//js 实现获取对象所有键名(key)的方法

var jsonObject1 = {
"name": "xiaoming",
"age":
};
var keys1 = [];
for (var p1 in jsonObject1) {
if (jsonObject1.hasOwnProperty(p1))
keys1.push(p1);
}
console.log(keys1); //name,age

//js 实现获取对象所有键名(key)的方法

Object.prototype.test = "I am test";
var jsonObject = {
"name": "xiaoming",
"age":
},
keys = [];
for (var p in jsonObject)
keys.push(p);
console.log(keys); //name,age,test

//提取对象的key值

checklist=[{"sensor_board":{"cur":"1.0.0","new":"1.0.1"}},{"sensor_board":{"cur":"1.0.0","new":"1.0.1"}}]
keys=[]
for (var p in checklist[]){
keys.push(p);
}
console.log(keys)

js for 循环示例的更多相关文章

  1. Node.js 事件循环(Event Loop)介绍

    Node.js 事件循环(Event Loop)介绍 JavaScript是一种单线程运行但又绝不会阻塞的语言,其实现非阻塞的关键是“事件循环”和“回调机制”.Node.js在JavaScript的基 ...

  2. JS基础——循环很重要

    介绍循环之前,首先要说一下同样很重要的if-else结构,switch-case结构 ①if-else结构 if(判断条件) { 条件为true时执行 } else{ 条件为false时执行 } ②i ...

  3. jquery.validate.min.js 用法方法示例

    页面html 代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  4. Node.js事件循环

    Node JS是单线程应用程序,但它通过事件和回调概念,支持并发. 由于Node JS每一个API是异步的,作为一个单独的线程,它使用异步函数调用,以保持并发性.Node JS使用观察者模式.Node ...

  5. 【JS中循环嵌套常见的六大经典例题+六大图形题,你知道哪几个?】

    首先,了解一下循环嵌套的特点:外层循环转一次,内层循环转一圈. 在上一篇随笔中详细介绍了JS中的分支结构和循环结构,我们来简单的回顾一下For循环结构: 1.for循环有三个表达式,分别为: ①定义循 ...

  6. js事件循环机制辨析

     对于新接触js语言的人来说,最令人困惑的大概就是事件循环机制了.最开始这也困惑了我好久,花了我几个月时间通过书本,打代码,查阅资料不停地渐进地理解他.接下来我想要和大家分享一下,虽然可能有些许错误的 ...

  7. js 各种循环遍历

    js 各种循环遍历(表格比较) 遍历方法 能否遍历数组 能否遍历对象 备注 for 能 不能 for in 能(有诸多缺点) 能 为遍历对象而设计的,不适用于遍历数组 forEach 能 不能 bre ...

  8. 6、Node.js 事件循环

    #########################################################################################Node.js 事件循 ...

  9. js for循环的陷阱

    ☞问题概述 一页面有三个按钮,点击提示相应内容.相应内容已从后台获取,并转化成json数组. var content = ["提示1", "提示2", &quo ...

随机推荐

  1. vi检索

    / :检索 n    :向下执行上一步的检索 N   :向上执行上一步的检索

  2. OAuth2.0配置

    一:授权服务器相关代码 AuthorizationServer.java import org.springframework.beans.factory.annotation.Autowired; ...

  3. Percona-Toolkit 之 pt-table-checksum 总结

    pt-table-checksum - Verify MySQL replication integrity. pt-table-checksum performs an online replica ...

  4. python迭代-如何实现反向迭代

    如何实现反向迭代 问题举例 实现一个连续浮点数发生器FloatRange,根据给定范围(start, end)和步进值(step) 产生一系列连续的浮点数,如FloatRange(3.0, 4.0, ...

  5. [USACO11DEC]牧草种植Grass Planting

    图很丑.明显的树链剖分,需要的操作只有区间修改和区间查询.不过这里是边权,我们怎么把它转成点权呢?对于E(u,v),我们选其深度大的节点,把边权扔给它.因为这是树,所以每个点只有一个父亲,所以每个边权 ...

  6. linux将apache设置为系统服务和开机自启

    1> 查看一下/etc/init.d/下是否存在httpd这个服务 ls /etc/init.d/ | grep httpd 如果没有执行下一步 2>将自己安装目录下的apachect1复 ...

  7. PeopleSoft Excel To CI

    Excel to CI 链接信息要注意,HTTP还是HTTPS, 端口号从链接可以看到,没有的话可能是默认80端口. 像一下这个页面也可以用CI 导入数据(secondary page)

  8. Eclipse及Eclipse为基础的App报错“Failed to create the Java Virtual Machine”的解决办法

    由于OracleJDK马上就要收费了,公司要求更换OpenJDK,结果安装后Eclipse及Eclipse为基础的App启动报错:“Failed to create the Java Virtual ...

  9. Oracle数据库的一些重要概念

    一.oracle数据库的结构 完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Ora ...

  10. HBase指定大量列集合的场景下并发拉取数据时卡住的问题排查

    最近遇到一例,HBase 指定大量列集合的场景下,并发拉取数据,应用卡住不响应的情形.记录一下. 问题背景 退款导出中,为了获取商品规格编码,需要从 HBase 表 T 里拉取对应的数据. T 对商品 ...