JS语法

javascript获取数组最后一个元素

  1. pop() 方法用于删除并返回数组的最后一个元素。
var arr = new array("js", "javascript", "jquery");
var end = arr.pop();
console.log(end); // jquery
console.log(arr); // ["js", "javascript"]

pop() 方法将删除 arrayobject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。

  1. 数组的 length 属性,取最后一个元素
var arr = new array("js", "javascript", "jquery");
var end = arr[arr.length-1];
console.log(end); // jquery
  1. slice() 方法返回的是数组
var arr = new array("js", "javascript", "jquery");
var end = arr.slice(-1);
console.log(end); // ["jquery"]

slice() 方法可从已有的数组中返回选定的元素。
但是返回的数据类型是 array 不是 string 这点要注意一下!

扩展运算符

扩展运算符(...)是ES6的语法,用于取出参数对象的所有可遍历属性,然后拷贝到当前对象之中。

  • 克隆对象
let person = {name: "Amy", age: 15};
let someone = { ...person };
console.log(someone);  // {name: "Amy", age: 15}
  • 合并对象
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);

如果用户自定义的属性,放在扩展运算符后面,则扩展运算符内部的同名属性会被覆盖掉(后面覆盖前面)。

  • 变换变量的值
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相当于data的别名

console.log(id, status, info);
  • 由于数组是特殊的对象,所以对象的扩展运算符也可以用于数组。
let foo = { ...['a', 'b', 'c'] };
console.log(foo); // {0: "a", 1: "b", 2: "c"}
  • 将一个数组添加到另一个数组的尾部
let arr1 = [0, 1, 2];
let arr2 = [3, 4, 5];
arr1.push(...arr2);
  • 合并数组
[...arr1, ...arr2, ...arr3] // [ 'a', 'b', 'c', 'd', 'e' ]
  • 函数参数的析构赋值
// 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 }) {
}

扩展运算符可用于数组和对象的拷贝。

delete 删除对象属性

    let obj = { name: 'tom', age: 12 }
    delete obj.name
    console.log(obj) // {age: 12}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容