js 對象/數組/字符串常見的幾個方法(不熟悉的彙總)

對象

Object.assign()

方法用於對象的合併,將源對象(source)的所有可枚舉屬性,複製到目標對象(target)

常用於引用值淺拷貝Object.assign({}, obj)

給對象新增屬性Object.assign(obj, obj1)

Object.keys()/Object.values()/Object.entries()

只能遍歷  可遍歷(enumerable)的屬性

let {keys, values, entries} = Object;
let obj = { a: 1, b: 2, c: 3 };

for (let key of keys(obj)) {
  console.log(key); // 'a', 'b', 'c'
}

for (let value of values(obj)) {
  console.log(value); // 1, 2, 3
}

for (let [key, value] of entries(obj)) {
  console.log([key, value]); // ['a', 1], ['b', 2], ['c', 3]
}

Object.create()

Object.defineProperty

數組

arr.find()

用於找出第一個符合條件的數組成員。它的參數是一個回調函數,所有數組成員依次執行該回調函數,直到找出第一個返回值爲true的成員,然後返回該成員。如果沒有符合條件的成員,則返回undefined

[1, 4, -5, 10].find((n) => n < 0)
// -5

Array.reduce()

 reduce() 方法接收一個函數作爲累加器,數組中的每個值(從左到右)開始縮減,最終計算爲一個值。對空數組是不會執行回調函數的。

const arr = [1,2,3,4,5];
const total = arr.reduce(function(sum,item){
      return sum + item
}, 0);
console.log('======total',total);        //15

字符串

str.padStart() /padEnd()

如果某個字符串不夠指定長度,會在頭部或尾部補全。padStart()用於頭部補全,padEnd()用於尾部補全。

'x'.padStart(4, 'ab') // 'abax'

padStart()的常見用途是爲數值補全指定位數

'123456'.padStart(10, '0') // "0000123456"

String.raw()

用來處理模板字符串,它會將所有變量替換,而且對斜槓進行轉義(即再加一個\),方便下一步作爲字符串來使用。

String.raw`Hi\n${2+3}!`
// 實際返回 "Hi\\n5!",顯示的是轉義後的結果 "Hi\n5!"

for in 與 for of

JSON.stringify() 與  Json.parse()

JSON.stringify()   javascript值  ---->  字符串

Json.parse()   字符串  --->   javascript值

常用於引用值深拷貝    JSON.parse(JSON.stringify(obj))

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章