1. 程式人生 > 實用技巧 >字串 ,數字 , 物件 , 陣列的擴充套件

字串 ,數字 , 物件 , 陣列的擴充套件

字串擴充套件      1.是否有某個字元
let str = 'http://127.0.0.1:3000/index.html';
console.log(str.includes('index'));//true
console.log(str.includes('logo'));//false 
  2.是否以某個字元開頭
let str = 'http://127.0.0.1:3000/index.html';
console.log(str.startsWith('http://'));//true
console.log(str.startsWith('login'));//false
console.log(str.startsWith('http'));//
true console.log(str.startsWith('h'));//true
  3.是否以某個字元結尾
let str = 'http://127.0.0.1:3000/index.html';

console.log(str.endsWith('.html'));//true
console.log(str.endsWith('index.html'));//true 
  4.重複字串
console.log('#'.repeat(30));
數值型別的擴充套件   1.判斷數字是否是有限大   
console.log(Number.isFinite(900000*90000000));//true
console.log(Number.isFinite(1.7976931348623157e+309));//
false console.log(Number.isFinite(Infinity));//false

  

  2.數字的最大值
 console.log(Number.MAX_VALUE);

  

  3.判斷是否為整數
console.log(Number.isInteger(0));//true
console.log(Number.isInteger(0.2));//false

  

  4.將字串轉換為整型
console.log(Number.parseInt('123'))   //123
console.log(Number.parseInt('123q'))  //123
console.log(Number.parseInt('12a3'))  //
12 // 向下取整 console.log(Math.trunc(12.8));//12
物件的擴充套件     
 let arr1 = [1,2,3];
 let arr2 = [1,2,3];
 console.log(Object.is(arr1,arr2));//false
 let obj1 = {name : 'E'};
 let obj2 = {name : 'E'};
 console.log(Object.is(obj1,obj2));//false
 let obj3 = obj1;
 console.log(Object.is(obj3,obj1));//true
 let str1 = 'asd';
 let str2 = 'asd';
 console.log(Object.is(str1,str2));//true
 console.log(Object.is(NaN,NaN));//true

  

 2.將一個物件的屬性或者方法分配給另一個物件Object.Assign(newObj,oldObj)   置兩個引數第一個引數是被分配的物件第二個引數是原物件    注意如果說被分配的物件有同名的key那麼原來的資料會被覆蓋   assign分配過去物件之後新物件和原物件沒有任何關係了
let newObj = {};
let oldObj = {};
newObj.name = 'li';
oldObj.name = 'zhang';
Object.assign(newObj,oldObj);
console.log(newObj);//{ name: 'zhang' }

陣列的擴充套件      1.Arrr.from將偽陣列對像或者可遍歷的物件轉換為真陣列
let btns = document.getElementsByTagName('button');
let qbtns=document.querySelectorAll('button');
console.log(Object.prototype.toString.call(btns));//[object NodeList]
console.log(Object.prototype.toString.call(qbtns));//[object NodeList]
let arr = Array.from(btns);
console.log(Object.prototype.toString.call(arr)); //[object Array]

  

  2.Array.of將一系列的值轉換為陣列
let arr = Array.of(1,3,5,7,9);
console.log(arr);//[ 1, 3, 5, 7, 9 ]
console.log(Object.prototype.toString.call(arr));//[object Array]

  

  3.find找出第一個滿足條件的元素     find方法查詢陣列中第一個為真的資料filter     filter是返回所有為真的元素返回值是一個數組哪怕是一個元素他也是陣列
//let arr = ['Eric','Mary','Tom','Jerry','Jack'];
//let result = arr.filter(element=>element.startsWith('M'));
//let result1 = arr.filter(element=>element.endsWith('k'));
//console.log(result);//[ 'Mary' ]
//console.log(result1);//[ 'Jack' ]

let result = arr.find(element=>element.startsWith('M'));
let result1 = arr.find(element=>element.endsWith('k'));
console.log(result);//Mary
console.log(result1);//Jack
  4.findIndex找出第一個滿足條件元素的索引
let arr = ['Eric','Mary','Tom','Jerry','Jack'];
let result = arr.findIndex(element=>element.startsWith('J'));
let result1 = arr.findIndex(element=>element.endsWith('y')); 
console.log(result);//3
console.log(result1);//1