JS語(yǔ)法

javascript獲取數(shù)組最后一個(gè)元素

  1. pop() 方法用于刪除并返回?cái)?shù)組的最后一個(gè)元素。
var arr = new array("js", "javascript", "jquery");
var end = arr.pop();
console.log(end); // jquery
console.log(arr); // ["js", "javascript"]

pop() 方法將刪除 arrayobject 的最后一個(gè)元素,把數(shù)組長(zhǎng)度減 1,并且返回它刪除的元素的值。如果數(shù)組已經(jīng)為空,則 pop() 不改變數(shù)組,并返回 undefined 值。

  1. 數(shù)組的 length 屬性,取最后一個(gè)元素
var arr = new array("js", "javascript", "jquery");
var end = arr[arr.length-1];
console.log(end); // jquery
  1. slice() 方法返回的是數(shù)組
var arr = new array("js", "javascript", "jquery");
var end = arr.slice(-1);
console.log(end); // ["jquery"]

slice() 方法可從已有的數(shù)組中返回選定的元素。
但是返回的數(shù)據(jù)類型是 array 不是 string 這點(diǎn)要注意一下!

擴(kuò)展運(yùn)算符

擴(kuò)展運(yùn)算符(...)是ES6的語(yǔ)法,用于取出參數(shù)對(duì)象的所有可遍歷屬性,然后拷貝到當(dāng)前對(duì)象之中。

  • 克隆對(duì)象
let person = {name: "Amy", age: 15};
let someone = { ...person };
console.log(someone);  // {name: "Amy", age: 15}
  • 合并對(duì)象
let age = {age: 15}
let name = {name: "Amy"}
let person = {...age, ...name}
console.log(person); // {age: 15, name: "Amy"}
let ab = { ...a, ...b }; 
//  等同于 
let ab = Object.assign({}, a, b);

如果用戶自定義的屬性,放在擴(kuò)展運(yùn)算符后面,則擴(kuò)展運(yùn)算符內(nèi)部的同名屬性會(huì)被覆蓋掉(后面覆蓋前面)。

  • 變換變量的值
let x = 1;
let y = 2;

[x, y] = [y, x];
  • 提取json
let jsonData = {
  id: 42,
  status: "OK",
  data: [867, 5309]
};

let { id, status, data: info} = jsonData; // info相當(dāng)于data的別名

console.log(id, status, info);
  • 由于數(shù)組是特殊的對(duì)象,所以對(duì)象的擴(kuò)展運(yùn)算符也可以用于數(shù)組。
let foo = { ...['a', 'b', 'c'] };
console.log(foo); // {0: "a", 1: "b", 2: "c"}
  • 將一個(gè)數(shù)組添加到另一個(gè)數(shù)組的尾部
let arr1 = [0, 1, 2];
let arr2 = [3, 4, 5];
arr1.push(...arr2);
  • 合并數(shù)組
[...arr1, ...arr2, ...arr3] // [ 'a', 'b', 'c', 'd', 'e' ]
  • 函數(shù)參數(shù)的析構(gòu)賦值
// bad
function getFullName(user) {
  const firstName = user.firstName;
  const lastName = user.lastName;
}

// good
function getFullName(obj) {
  const { firstName, lastName } = obj;
}

// best
function getFullName({ firstName, lastName }) {
}

擴(kuò)展運(yùn)算符可用于數(shù)組和對(duì)象的拷貝。

delete 刪除對(duì)象屬性

    let obj = { name: 'tom', age: 12 }
    delete obj.name
    console.log(obj) // {age: 12}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容