Html css javascript

Day09 Js continue

2018-07-02  本文已影响0人  小章鱼Milo

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>
<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.正则表达式

<script >
  //string中match,search,split,replace支持正则表达式
  //将所有l转换成*
  // /l/g 两个斜杠里面的内容 g表示全局搜索
  let a="hello world";
  let reg=/l/g;
  let b=a.replace(reg, "*")
  console.log(b)
  //构造函数的方式创建
  // 参数1:pattern
  //参数2:attributes
  let rege=new RegExp("l","g");

</script>
<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, "*"))
  //连续的备选字符
  //[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>
<body>
<input type="text" id="txt">
<button id="btn">确定</button>
<script >
  //量词
  //确定的数量
  //{6}  出现6次
  //{3,6} 出现3-6次
  //{3,} 至少出现3次
  //不确定的数量
  //? 出现0次或者1次
  //+ 至少出现1次
  //* 出现多次或者不出现
  //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>
<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>
上一篇 下一篇

猜你喜欢

热点阅读