<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js對數(shù)組遍歷的多種寫法 以及Map和Set數(shù)據格式</title>
</head>
<!--
1.for()
2,for in 用來循環(huán)對象
3,forEach() //用來循環(huán)數(shù)組适荣,不能break的妖,不能return
4,map() 返回一個新的數(shù)組 和forEach相似
5,filter() 過濾
6,for of map對象循環(huán),也可以循環(huán)數(shù)組勘天,性能高。
-->
<body>
<script>
let arr = [1,2,5,6,7,8];
let arrs=[];
let arrays={name:"hanna",age:"18"};
let arrarsObj=[{name:"hanna"},{name:"zhangsan"},{name:"lisi"}];
// for(let i=0;i<arr.length;i++){//1,只能對數(shù)組進行操作
// arrs.push(arr[i]+1)
// }
// arr.forEach(function (val,index) {//其實就是用來代替for的误辑!//循環(huán)數(shù)組沧踏,和map相似,不同是前者不能break和return
// console.log(val+1);//數(shù)組值
// console.log(index);//數(shù)組下標
// })
// for(let key in arrays){//1,可對象進行循環(huán) for in遍歷的是數(shù)組的索引巾钉,通常用for in 遍歷對象的鍵名 //不建議對數(shù)組進行for in遍歷翘狱,
// console.log(key);//對象的key值
//// console.log(array[key]);//對象的val
// }
// for(let key in arrays){//for in 加強版 對象進行循環(huán),但是for in 可以遍歷原型方法,所以建議在使用的時候砰苍,加個判斷,如果是實例對象就操作潦匈,不遍歷原型對象。
// if(arrays.hasOwnProperty(key)) {//判斷是否屬于對象實例方法
//// console.log(key);//對象的key值
//// console.log(arrays[key]);//對象的val
// console.log(key);//對象的val
// }
// }
// arr.map(function (val,index) {//為每個元素執(zhí)行一定的操作赚导,并返回一個新的數(shù)組//循環(huán)數(shù)組茬缩,不會對原數(shù)組有影響,可以return吼旧,會返回一個新的數(shù)組凰锡。可以鏈式操作圈暗。
//// console.log(val);//數(shù)組值
// console.log(index);//數(shù)組下標
// })//
// var a = arrarsObj.filter(function (item,index, array) {// filter 遍歷 創(chuàng)建一個新的匹配過濾條件的數(shù)組掂为。//是對數(shù)組進行操作,返回一個新的數(shù)組员串,不會對原數(shù)組有影響勇哗。
//// return item.name==="hanna"
// return index===1;
// return array;
// });
// console.log(a);
// console.log(arrs);
//Set有2中創(chuàng)建方式
let sets=new Set();//1,第一種
let setss=new Set([1,2,4,"hanna","2",2]);//第二種,
sets.add("hanna",);
sets.add("zhang").add("li").add("li").delete("li");
//Set的屬性和方法
// sets.add() , sets.delete(), sets.has(),sets.size寸齐,sets.clear(),Array.from(setss)取參數(shù)的使用也需要用has()去取欲诺。
// console.log(Array.from(setss));//可以把set類型轉化為對象類型
// console.log(sets);
//Map數(shù)據類型 2種創(chuàng)建方式
let m = new Map();//1,第一種
let map = new Map([["name", "小明"], ["title", "Author"]]);//第二種渺鹦,初始化Map對象是一個二維數(shù)組扰法。
m.set("edition"); // 鍵是字符串,值是空
m.set(262, "stan"); // 鍵是數(shù)字海铆,值是stan
m.set(undefined, "nah").delete(262);//鍵是undefined迹恐,值是nah
//Map的屬性和方法
//1挣惰,m.set(key,val)設置一個鍵值對卧斟,m.size返回總成員,m.get(key)讀取這個鍵憎茂,m.has(key),m.delete(key),clear()清除所有成員
//循環(huán)遍歷珍语,結合for of
//for of 遍歷 可遍歷Map 和Set
// for(let [key,val] of map){//單個key和單個val
// console.log("key:"+ key);
// console.log("val:"+ val);
// }
// for(let key of map.keys()){//只循環(huán)于key
// console.log("key:"+ key);//
// }
// for(let val of map.values()){//只循環(huán)與val
// console.log("val:"+ val);//
// }
// map.forEach(function (val,key,map) {
// console.log(key);
// console.log(val);
// console.log(map);
// })
// 1,for of 遍歷的數(shù)組的值,并非下標
// for(let i of "1234567"){
// console.log(i);
// }
}
</script>
</body>
</html>
js循環(huán)的多種方式
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纠脾,“玉大人玛瘸,你說我怎么就攤上這事」兜福” “怎么了糊渊?”我有些...
- 正文 為了忘掉前任芒篷,我火速辦了婚禮,結果婚禮上采缚,老公的妹妹穿的比我還像新娘针炉。我一直安慰自己,他們只是感情好扳抽,可當我...
- 文/花漫 我一把揭開白布篡帕。 她就那樣靜靜地躺著,像睡著了一般贸呢。 火紅的嫁衣襯著肌膚如雪镰烧。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼献幔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了趾诗?” 一聲冷哼從身側響起蜡感,我...
- 正文 年R本政府宣布,位于F島的核電站篱昔,受9級特大地震影響每强,放射性物質發(fā)生泄漏。R本人自食惡果不足惜州刽,卻給世界環(huán)境...
- 文/蒙蒙 一空执、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧穗椅,春花似錦辨绊、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至袍镀,卻和暖如春默蚌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背苇羡。 一陣腳步聲響...
推薦閱讀更多精彩內容
- 1.當代種種事件不同于歷史之處,在于我們不知道它們會產生什么后果畜挥。 2.經驗和利益的偶然結合甫菠,往往會向人們揭示...
- 1.break關鍵字挠铲,用于強制退出循環(huán)體,執(zhí)行循環(huán)后面的語句寂诱。 給定字符串 str拂苹,檢查其是否包含數(shù)字,包含返回 ...
- 晨讀文章小結:第一痰洒、實話實說瓢棒,用三個水桶厘清事實,獲取聽眾信任丘喻;第二脯宿、講述故事,用“美洲獅”模式組織演講內容泉粉,得到...
- 《第308期六項精進》 姓名:彭萬紅 【日精進打卡第18天—2017年11月6日】 公司:廣東順創(chuàng)律師事務所 企業(yè)...