Login
芋圆社区 > 编程 > JavaScript > Array 基础方法

Array 基础方法

1268
1
2021-06-21
2022-11-04
Hey、小怪兽


目录索引


  • Array对象  |  concat()  |  join()  |  pop()  |  push()  |  reverse()  |  shift()  |  unshift()  |  slice()  |  sort() |  splice() |  valueOf()  |  toString()  |  toLocaleString()  |  toSource()

Array对象


  • • 在Array对象中,有三个属性,分别是length,constructor,prototype
  • • length表示数组的长度
  • • constructor属性返回对创建此对象的数组函数的引用,在W3shcool的例子解释:
  • • prototype指的是在对象添加属性和方法,语法如下
  • • (删除:有猫的茶水间 2021-6-21)
  • • 关于数组赋值:
let array = ['1', '2', '3'];
array[5] = 'A';
console.log(array);
  • • 会得到["1", "2", "3", empty × 2, "A"]
  • • 如果console.log(array[4]),会得到undefined
  • • 在JavaScript越界访问索引并不会报错,但是最好不要越界赋值,这样会直接修改数组大小,比如上述例子的array的length就变成了6

concat()


  • • 语法:
数组1.concat(数组2,数组3,…,数组n);
arrayObject.concat(arrayX,arrayX,......,arrayX);
  • • concat,就是“合并”的意思
  • • 用这个方法可以连接两个或多个数组,该方法不会改变现有的数值,而是返回连接数组的一个副本
let arr = [1,2,3]

// [1,2,3,1,2]
console.log(arr.concat([1,2]))
// [1,2,3]
console.log(arr)

join()


  • • 语法:
数组对象.join("分隔符");
arrayObject.join(separator);
  • • join方法就是把数组的元素连接成一个字符串
  • • 分隔符是可选项,用于指定使用的分隔符,如果省略该参数,则会默认用英文逗号作为分隔符
let arr=[1,2,3]

// '1,2,3'
console.log(arr.join())
// '1*2*3'
console.log(arr.join("*"))

pop()


  • • 语法:
数组对象.pop();
arrayObject.pop();
  • • 可以用pop方法删除数组的最后一个元素,会直接改变原数组,返回它删除的该元素的值
  • • 如果数组为空,则pop不改变数组,返回undefined值
let arr = [1,2,3,4,5]

// 5
console.log(arr.pop())
// [1,2,3,4]
console.log(arr)

push()


  • • 语法:
数组对象.push(新元素1,新元素2,…,新元素n);
arrayObject.push(newelement1,newelement2,....,newelementX);
  • • 在语法中,新元素1是必需的,其他的都是可选的
  • • push方法可以向数组的末尾追加一个或者多个元素,并且返回新的长度,注意是长度!!!
  • • push是在末尾添加元素,而不是在中间插入
  • • push方法会直接修改数组的对象,而不是创建一个新的数组,push和pop使用数组提供的先进后出的功能
let arr = [1,2,3,4,5]

// 7
console.log(arr.push(1,2))
// [1,2,3,4,5,1,2]
console.log(arr)

reverse()


  • • 语法:
数组对象.reverse();
arrayObject.reverse();
  • • reverse方法会将数组元素反向排列,返回值是反转后的数组
  • • reverse是排列的方法,而不是排序的方法
  • • reverse会改变原来的数组,而不是创建新的数组
let arr = [1,2,3,4,5]

// [5,4,3,2,1]
console.log(arr.reverse())
// [5,4,3,2,1]
console.log(arr)

shift()


  • • 语法:
arrayObject.shift();
  • • shift方法可以删除数组第一个元素,并返回第一个元素的值
  • • 该方法不是创建新的数组,而是修改原来的数组
  • • 如果数组为空,则shift不改变数组,返回undefined值
let arr = [1,2,3,4,5]

// 1
console.log(arr.shift())
// [2,3,4,5]
console.log(arr)

unshift()


  • • 语法:
数组对象.unshift(新元素1,新元素2,…,新元素n);
arrayObject.unshift(newelement1,newelement2,....,newelementX);
  • • unshift方法可以在数组开头添加元素,并返回该元素
  • • unshift方法可以在数组开头添加元素,并返回该元素的长度(注意是长度!!!)(删除:Hey、小怪兽 2022-11-4)
  • • unshift方法不创建新的创建,而是直接修改原有的数组
  • • unshift() 方法无法在 Internet Explorer 中正确地工作!
  • • unshift方法可以在Internet Explorer中工作,MDN显示在IE5.5版本可以工作(删除:有猫的茶水间 2021-6-21)
let arr = [1,2,3,4,5]

// 6
console.log(arr.unshift(5))
// [5,1,2,3,4,5]
console.log(arr)

slice()


  • • 语法:
数组对象.slice(start,end);
arrayObject.slice(start,end)
  • • slice方法可以获取数组某段元素,slice就是“切片”的意思
  • • start和end都是整数,返回的是切出来的数组,并且不改变原数组
  • • start是必选项,表示元素开始的位置,从0开始计算,如果是负数,则从尾部算起,-1指最后一个元素
  • • end是可选项,表示结束元素的位置,也是从0开始计算,计算时不包括end索引的值,如果没有填,则指start到数组结束的所有元素
let arr = [1,2,3,4,5]

// [2,3]
console.log(arr.slice(1,3))
// [1,2,3,4,5]
console.log(arr)

sort()


  • • 语法:
数组对象.sort(函数名);
arrayObject.sort(sortby);
  • • sort方法可以对数组的元素进行大小的比较,返回的是排序后的数组
  • • 如果“函数名”(sortby)参数被忽略,那么元素将按照ASCII字符顺序进行升序排序(默认按最左边的数字排序,而不是数字大小)
  • • 数组在原数组上进行排序,不生成副本
let arr = [5,2,11,16,1,22,8,25]

// 根据ASCII字符排序
// [1,11,16,2,22,25,5,8]
console.log(arr.sort())

// a - b升序
// [1,2,5,8,11,16,22,25]
let arr1 = arr.sort((a, b) => a - b)
console.log(arr1)

// b - a升序
// [25,22,16,11,8,5,2,1]
let arr2 = arr.sort((a, b) => b - a)
console.log(arr2)

splice()


  • • 语法:
arrayObject.splice(index,howmany,item1,.....,itemX);
  • • splice方法从index删除多少数组,并且添加新的项目替代被删除的项目,返回值是删除的元素
  • • index是必需的,规定从数组的哪个位置插入,也就是索引值
  • • howmany指的是要删除的个数,如果设置为0,则不会删除项目
  • • item1...itemX向项目添加新的项目
let arr1 = [1,2,3,4,5]
// [3,4]
console.log(arr1.splice(2,2))
// [1,2,5]
console.log(arr1)

let arr2 = [1,2,3,4,5]
// []
console.log(arr2.splice(2,0,5,6))
// [1,2,5,6,5]
console.log(arr2)

valueOf()


  • • 语法:
arrayObject.valueOf();
  • • valueOf返回数组的原始值
  • • 好像不是特别重要,在数组里的valueOf方法,W3school也没啥过多的解释

toString()


  • • 语法:
数组对象.toString();
arrayObject.toString();
  • • toString方法可以把数组转换为字符串,并返回结果
  • • 数组中的元素用逗号隔开
let arr = [1,2,3,4,5]

// '1,2,3,4,5'
console.log(arr.toString())

toLocaleString()


  • • 语法:
arrayObject.toLocaleString();
  • • 将数组转换为本地字符串
  • • 也就是使用地区特定的分隔符把生成的字符串连接起来,形成一个字符串

toSource()


  • • 语法:
object.toSource();
  • • toSource方法表示该对象的源代码
  • • 只有 Gecko 核心的浏览器(比如 Firefox)支持该方法,也就是说 IE、Safari、Chrome、Opera 等浏览器均不支持该方法
  • • 只需要了解这个方法即可
  • • 在W3school的例子:
function employee(name, job, born) {
    this.name = name;
    this.job = job;
    this.born = born;
}

var bill = new employee("Bill Gates", "Engineer", 1985);
// ({name:"Bill Gates", job:"Engineer", born:1985})
console.log(bill.toSource())

下一篇:Array 进阶方法 - ES6

Message Board
回复
回复内容不允许为空
留言字数要大于2,小于200!
提交成功,5s后刷新页面!
编程导航

Array 基础方法

Array 进阶方法 - ES6

公主连结.cysp转.skel

获取视频的第一帧

定制Console.log

WebAssembly简单案例

一些常用的方法【持续更新】

AES加密 CBC模式

滚动条滚动到底部的判断

console.log展开值不一样

JSON解析与序列化

|| 运算符的坑

对象转为字符串

call,apply,bind

获取数组中对象的某一属性值

jQuery合并ajax请求

批量命名全局变量

forEach方法

round,ceil,floor

Copyright © 2020 芋圆社区

Powered by 浙ICP备2020039309号-1

此页面不支持夜间模式!

已进入夜间模式!

已进入普通模式!

搜索框不允许为空

签到成功!经验+5!芋圆币+2!

签到失败!今日已签到!

需要登录社区账号才可以进入!

复制成功
寄,页面未加载完成或页面无锚点