Day09 Js continue

1. 數組

  • 1.1 數組的構造

<script >
  //1.直接給值
  let arr=[1,2,3]
  //2.構造函數的方式
  let b=new Array();
  b[0]=1;
  console.log(b[0])
  //檢測數組
  //1.用typeof 看數組 是對象
  console.log(typeof b)
  //2.用instancof Array 來看 返回值為TRUE
  console.log(b instanceof Array);
  //3.Array.isArray 返回true
  console.log(Array.isArray(b))

</script>
  • 1.2數組的方法

<script>
  //數組的添加

  //改變數組原來的內容
  //push 從后增加
  let arr=[1,2,3]
  arr.push(4);
  console.log(arr)
  //unshift 從頭(前)添加
  arr.unshift(0);
  //concat() 不改變原數組的內容,返回一個拼接后的數組
  let b=arr.concat(5);
  console.log(b)
  console.log(arr);

  //數組的克隆
  //1.遍歷push
  let c=[]
  for (let i=0;i<arr.length;i++){
    c.push(arr[i])
  }
  console.log(c)
  //2.使用concat添加 空數組[].concat
  let d=[4,5,6]
  let e=[].concat(d)
  console.log(e)

  //數組的刪除
  //1.從后刪除 pop();
  let f=[1,2,3]
  f.pop()
  console.log(f)
  //2.從頭刪除
  //shift
  f.shift()
  console.log(f)

  //數組的修改
  //splice(index,num,item) 先刪除再插入 改變原來的數組
  //index  數組的下標
  //num 刪除個數
  //item 插入的參數

  let g=[1,2,3,4]
  g.splice(1,1,"h")
  console.log(g)
  //splice 補充
  // 增加
  let j=[1,2,3,4];
  j.splice(3,0,"hello")
  console.log(j)
  //刪除
 let k=[1,2,3,4];
  k.splice(0,2)
  console.log(k)

  //數組的查詢
  let h=[1,2,3,4]
  //1.通過下標
  h[1];
  //2.查值對應的下標
  console.log(h.indexOf(4))
  //3.slice(startIndex,endIndex) 不包含endIndex
  console.log(h.slice(2,3))
  //slice(startIndex) 從startIndex一直到最后
  console.log(h.slice(1))
  //join(separator分隔符) 方法 將數組轉化成一個字符串 默認為“,”
  let l=["hello","world","good"];
  let m=l.join("|");
  console.log(m)

  //數組的排序
  let aa=[22,2,12,33,14];
  // 數組排序 沒用
  //升序
  let bb=aa.sort(function (a,b) {
    return a-b;
  })
  // 降序
  // let cc=aa.sort(function (a,b) {
  //   return b-a;
  // })
  console.log(bb)
  // console.log(cc)

  //求和
  let dd=[1,2,3,4,5]
  let sum=dd.reduce(function (a,b) {
    return a+b
  })
  console.log(sum)

  //reverse 倒置 顛倒數組中的元素
  let ee=[1,2,3,4]
  let ff=ee.reverse();
  console.log(ff)

</script>

2.String方法

<script >
  let str="hello world"
  //獲取字符串的長度
  let len=str.length
  console.log(len)
  //字符串增加
  //concat 原來的字符串不變  返回新的拼接后的字符串

  let add=str.concat("add")
  console.log(str)
  console.log(add)
  //字符串 查詢
  //charAt 輸出對應下標的字符
  let char=str.charAt(1)
  console.log(char)
  //indexOf 輸出對應字符的下標 如果沒有返回-1
  let index=str.indexOf("l")
  console.log(index)
  //字符串的截取
  //slice()
  let a="hello world"
  let b=a.slice(1,4)
  console.log(b)
  //substr(startIndex,length)
  let subStr=a.substr(1,4)
  console.log(subStr)
  //substring(startIndex,endIndex)
  let subString=a.substring(1,4)
  console.log(subString)
  //分割
  let c=a.split("l")
  console.log(c)
  let d=a.split("")
  console.log(d)
  //search方法 返回搜索字符的下標 不存在返回-1
  let e=a.search("l")
  console.log(e)
  //match 方法 將匹配的內容返回一個數組 不存在返回Null
  let f =a.match("l")
  console.log(f)
  //replace 方法 只替換第一個查到的值
  let g=a.replace("l","h")
  console.log(g)
</script>

3.正則表達式

  • 3.1 正則表達式的構造

<script >
  //string中match怔鳖,search溺森,split岸裙,replace支持正則表達式
  //將所有l(wèi)轉換成*
  // /l/g 兩個斜杠里面的內容 g表示全局搜索
  let a="hello world";
  let reg=/l/g;
  let b=a.replace(reg, "*")
  console.log(b)
  //構造函數的方式創(chuàng)建
  // 參數1:pattern
  //參數2:attributes
  let rege=new RegExp("l","g");

</script>
  • 3.2備選字符集

<script >
  //備選字符集[海天]
  //[] 表示括號內任意一個字符匹配
  let a="上海径玖,上天,上去逛尚,上海那";
  let reg=/上[海天]/g
  let b=a.replace(reg, "*")
  console.log(b)
  let c="12535_3dd"
  // let d=/[\d]/g
  let d=/[0-9]/g
  console.log(c.replace(d, "*"))
  //連續(xù)的備選字符
  //[a-z] 所有的小寫字母
  //[A-Z] 所有的大寫字母
  //[0-9] 所有的數字 \d
  //[0-9a-zA-Z] 所有數字和字母
  // \w 任意一個數字搪花,字母或者下劃線
  // \s 一位空字符 空格 tab 換行
  // . 處換行外其余所有字符
  let e=/[0-9a-zA-Z]/g
  console.log(c.replace(e, "*"))
</script>
  • 3.3 量詞

<body>
<input type="text" id="txt">
<button id="btn">確定</button>
<script >
  //量詞
  //確定的數量
  //{6}  出現(xiàn)6次
  //{3,6} 出現(xiàn)3-6次
  //{3,} 至少出現(xiàn)3次
  //不確定的數量
  //? 出現(xiàn)0次或者1次
  //+ 至少出現(xiàn)1次
  //* 出現(xiàn)多次或者不出現(xiàn)
  //test() 方法
  //regExp.test(str) 返回boolean
  let txt=document.getElementById("txt")
  let btn=document.getElementById("btn")
  let reg=/^\d+$/

  // btn.onclick=function () {
  //   let value=txt.value
  //   let result=reg.test(value)
  //   alert(result)
  // }
  //或 和分組
  //|表示或
  //()表示分組

  //判斷手機號
  // 以+86或0086開頭 可有可無
  // 可以有多個空格或者沒有
  //號碼第一位為1 第二位為3456789中一個 最后9位為數字

  let rr=/1[3456789]\d{9}$/
  let rreg=/^(\+86|0086)?\s*1[3456789]\d{9}$/
btn.onclick=function () {
    let value=txt.value;
    let result=rr.test(value)
  alert(result)
}
  //轉義字符  " 用 \"來轉義
  //指定位置
  //^正則表達式 以該正則表達式開頭
  //正則表達式$ 以該正則表達式結尾

  //將開始位置的空格清空
  let str="   hello  hello"
  let rrr=/^\s+/g
  console.log(str.replace(rrr, ""))

  //排除 [^abc] 除了abc以外的值
  let strr="abc232"
  let regr=/[^abc]/g
  console.log(strr.replace(regr, "*"))
</script>
</body>
  • 3.4過濾

<body>
<textarea name="" id="txt" cols="30" rows="10"></textarea>
<button id="btn">過濾</button>
<script >
  // let reg=/天貓|淘寶/g
  let reg=/<[^<>]*>/g
  let txt=document.getElementById("txt")
  let btn=document.getElementById("btn")
  btn.onclick=function () {
    let value=txt.value;
    let filter=value.replace(reg, "")
    txt.value=filter;

  }
</script>
</body>
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市薯嗤,隨后出現(xiàn)的幾起案子顽爹,更是在濱河造成了極大的恐慌,老刑警劉巖骆姐,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件镜粤,死亡現(xiàn)場離奇詭異,居然都是意外死亡玻褪,警方通過查閱死者的電腦和手機肉渴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來带射,“玉大人同规,你說我怎么就攤上這事】呱纾” “怎么了券勺?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長灿里。 經常有香客問我关炼,道長,這世上最難降的妖魔是什么匣吊? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任盗扒,我火速辦了婚禮跪楞,結果婚禮上,老公的妹妹穿的比我還像新娘侣灶。我一直安慰自己甸祭,他們只是感情好,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布褥影。 她就那樣靜靜地躺著池户,像睡著了一般。 火紅的嫁衣襯著肌膚如雪凡怎。 梳的紋絲不亂的頭發(fā)上校焦,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天,我揣著相機與錄音统倒,去河邊找鬼寨典。 笑死,一個胖子當著我的面吹牛房匆,可吹牛的內容都是我干的耸成。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼浴鸿,長吁一口氣:“原來是場噩夢啊……” “哼井氢!你這毒婦竟也來了?” 一聲冷哼從身側響起岳链,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤花竞,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后掸哑,有當地人在樹林里發(fā)現(xiàn)了一具尸體约急,經...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年苗分,在試婚紗的時候發(fā)現(xiàn)自己被綠了厌蔽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡俭嘁,死狀恐怖躺枕,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情供填,我是刑警寧澤拐云,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站近她,受9級特大地震影響叉瘩,放射性物質發(fā)生泄漏。R本人自食惡果不足惜粘捎,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一薇缅、第九天 我趴在偏房一處隱蔽的房頂上張望危彩。 院中可真熱鬧,春花似錦泳桦、人聲如沸汤徽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谒府。三九已至,卻和暖如春浮毯,著一層夾襖步出監(jiān)牢的瞬間完疫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工债蓝, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留壳鹤,地道東北人。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓饰迹,卻偏偏與公主長得像芳誓,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蹦锋,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內容

  • 一兆沙、Java 簡介 Java是由Sun Microsystems公司于1995年5月推出的Java面向對象程序設計...
    子非魚_t_閱讀 4,154評論 1 44
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line)欧芽,也就是一...
    悟名先生閱讀 4,118評論 0 13
  • 欣兒說完不高興地轉身回自己的屋里去了莉掂。欣兒媽媽看著欣兒的背影嘆了口氣無奈地說,“你咋就這么倔呢千扔?我這樣做還不都是為...
    依心隨行閱讀 198評論 2 0
  • 2007~2017整整十年憎妙。大學畢業(yè)都十年了。去聚聚吧曲楚。不知怎么就坐在了飯館里厘唾,坦然地拉出椅子。旁邊已經坐了3個誰...
    貝殼的黑眼圈閱讀 262評論 2 3
  • 首先龙誊,什么是標簽模板字符串呢抚垃? 就是在你的模板字符串里面寫一個標簽,比如說highlight趟大,然后給它制定一些規(guī)則...
    Janicerant閱讀 1,913評論 0 1