js for 循環示例
阿新 • • 發佈:2019-04-25
對數 tom cti fin 執行環境 checklist ray 進行 world
//for 循環
var array = [1,2,3,4,5,6,7]; for (var i = 0; i < array.length; i++) { console.log(i,array[i]); } //for in var array = [1,2,3,4,5,6,7]; for(let index in array) { console.log(index,array[index]); };
//forEach
var array = [1,2,3,4,5,6,7]; array.forEach(v=>{ console.log(v); }); //或者 var array = [1,2,3,4,5,6,7]; array.forEach(function(v){ console.log(v); });
//for in 循環對象
var A = {a:1,b:2,c:3,d:"hello world"}; for(let k in A){ console.log(k,A[k]); }
//在ES6中,增加了一個for of循環
var array = [1,2,3,4,5,6,7];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",1).set("b",2).set(999,3); 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 = 0;i < array1.length;i++){ console.log(array1[i]); // a b c }
//forEach() 方法對數組的每個元素執行一次提供的函數。總是返回undefined;
//map() 方法創建一個新數組,其結果是該數組中的每個元素都調用一個提供的函數後返回的結果。返回值是一個新的數組;
var array1 = [1,2,3,4,5]; var x = array1.forEach(function(value,index){ console.log(value); //可遍歷到所有數組元素 return value + 10 }); console.log(x); //undefined 無論怎樣,總返回undefined var y = array1.map(function(value,index){ console.log(value); //可遍歷到所有數組元素 return value + 10 }); console.log(y); //[11, 12, 13, 14, 15] 返回一個新的數組
// 因為叠代的順序是依賴於執行環境的,所以數組遍歷不一定按次序訪問元素。 因此當叠代那些訪問次序重要的 arrays 時用整數索引去進行 for 循環
let array2 = [‘a‘,‘b‘,‘c‘] let obj1 = { name : ‘lei‘, age : ‘16‘ } 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 = [3, 5, 7]; 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": 29 }; 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": 29 }, 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[0]){ keys.push(p); } console.log(keys)
js for 循環示例