国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JavaScript > 正文

前端常用的JavaScript操作(代碼實例)

2020-03-22 19:24:06
字體:
來源:轉載
供稿:網友
本篇文章給大家帶來的內容是關于前端常用的JavaScript操作(代碼實例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

1.刪除字符串中指定的一段字符

例:刪除 10km 中的km

var str = 10km //方法一:var res = str.replace( km , )//方法二:var res = str.split( km ).join( )//join方法不傳參默認使用逗號作為分隔符
2.數組去重
var arr = [1, 2, 3, 1, 2]//方法一:var res = [...new Set(arr)]//方法二:var res = Array.from(new Set(arr))//方法三:var res = [];for (var i in arr) { if (res.indexOf(arr[i] === -1) { res.push(arr[i])//方法四:var res = []arr.map((item, index) = { if (res.indexOf(item) === -1){ res.push(item)})

附:Array.from()的用法:

Array.from(arr, mapfn,thisArg):用于將兩類可以把對象轉換為真正的數組。

類似數組的對象(必須有length屬性)

可遍歷的對象(部署了Iterator接口的,String,ES6新增的Map和Set)。

參數:第一個是數組,必傳;第二個是一個函數(類似map函數),對數組元素進行操作后再返回數組,可選;第三個是對于this關鍵字的指向,可選。

var obj1 = { 0: a , 1: b , 2: c var arr1 = Array.from(obj1)console.log(arr1) // []/* 1. 類數組對象,具有length屬性,而普通對象是沒有length屬性的。*//* 2. 類數組對象的屬性名必須為非負整數,對象中的屬性名會被當做字符串處理。*/var obj2 = {  0: a , 1: b , 2: c , length: 2var arr2 = Array.from(obj2)console.log(arr2) // [ a , b ]var obj3 = { 0: a , 1: b , 2: c , length: 4var arr3 = Array.from(obj3)console.log(arr3) // [ a , b , c , undefined]var obj4 = { 0: a , 1: b , 2: c , length: 3var arr4 = Array.from(obj4, item = item + 1)console.log(arr4) // [ a1 , b1 , c1 ]var obj5 = { 1 : a , 0 : b , length: 2var arr5 = Array.from(obj5)console.log(arr5) // [ b , a ]
3.將偽數組對象轉化為數組
var obj = { 0: a , 1: b , length: 2//方法一:Array.from(obj)//方法二:Array.prototype.slice.call(obj) //方法三:Array.prototype.concat.apply([], obj)//方法四:Array.prototype.splice.call(obj, 0) // 返回被刪除的元素,原對象obj會被破壞掉console.log(obj) // obj: {length: 0}// 上述的Array.prototype 均可用[]代替
4.數組或對象的深拷貝
//方法一:JSON.parse(JSON.stringify(obj))//方法二:遞歸遍歷function clone (obj) { var res = obj.constructor === Array ? [] : {} for (var i in obj) { res[i] = typeof obj[i] === object ? clone(obj[i]) : obj[i] // 即obj[i]為數組或對象,繼續拷貝 return res//附:數組淺拷貝var arr = [ a , [ b , [ c ]]]//1.使用slice()var res = arr.slice(0)console.log(res) // [ a , [ b , [ c ]]]res[1][1] = b console.log(res) // [ a , [ b , [ b ]]]console.log(arr) // [ a , [ b , [ b ]]]//2.使用concat()var arr = [ a , [ b , [ c ]]]var res = [].concat(arr)res[1][1] = b console.log(res) // [ a , [ b , [ b ]]]console.log(arr) // [ a , [ b , [ b ]]]//Object.assign()也只能實現對象的淺拷貝,它只是一級屬性復制,比淺拷貝多深拷貝了一層var obj = {a: a , b: {c: d }}var res = Object.assign({}, obj)res.b.c= e console.log(res) // {a: a , b: {c: e }}console.log(obj) // {a: a , b: {c: e }}
5.沒有塊級作用域導致內層變量覆蓋外層變量。
var date = new Date().getDate();function f(){ console.log(date); if(false){ var date = 0;//變量提升f();//undefined
6.ES6中標簽模板的用法:
let a = 1;let b = 2;function tag(arr, html' target='_blank'>value1, value2){ console.log(arr); //[ hello , world , ] console.log(value1); //3 console.log(value2); //2tag`hello ${a + b} world ${a * b}`;如果函數名后的模板字符串中沒有變量,則直接將其作為函數參數調用。如果存在變量則先將模板字符串處理成多個參數,再調用函數。處理規則:1.默認該函數第一個參數為數組,該數組的成員是模板字符串中那些沒有變量替換的部分。2.變量替換只發生在數組的第一個成員與第二個成員之間、第二個成員與第三個成員之間。以此類推,故arr中第三個成員為 ,原因是${a * b}的變量替換發生在第二個成員與第三個成員之間,所以必須存在第三個成員。3.函數的其他參數,都是模板字符串各個變量被替換后的值。函數形如:function tag(stringArr, ...value){}*/

以上就是對的全部介紹,如果您想了解更多有關HTML視頻教程,請關注PHP 。

以上就是前端常用的JavaScript操作(代碼實例)的詳細內容,html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和政县| 库尔勒市| 金秀| 娱乐| 德令哈市| 东阿县| 合山市| 乌拉特中旗| 琼中| 剑阁县| 铁岭市| 宜兴市| 吐鲁番市| 霍邱县| 科技| 石嘴山市| 鄂伦春自治旗| 双桥区| 台东县| 峡江县| 望谟县| 秦安县| 新化县| 汤原县| 阿合奇县| 黑山县| 哈尔滨市| 保山市| 莱州市| 望都县| 建宁县| 当阳市| 调兵山市| 个旧市| 太原市| 芷江| 始兴县| 霞浦县| 郁南县| 永平县| 深泽县|