资讯专栏INFORMATION COLUMN

javascript 原型方法归纳 ------Array篇

ShevaKuilin / 2690人阅读

摘要:合并数组,返回新数组连接数组元素,返回字符串移除最后元素,返回该元素移除第一个元素,返回该元素尾部插入若干元素,返回操作后头部插入若干元素,返回操作后反转元素操作返回原数组片段对数组排序在前删除一段并插入新元素,返回删除掉的元素所组成的数组

arr.concat(value1, value2, ..., valueN)

合并数组,返回新数组

str = arr.join(separator)

连接数组元素,返回字符串

arr.pop()

移除最后元素,返回该元素

arr.shift()

移除第一个元素,返回该元素

arr.push(element1, ..., elementN)

尾部插入若干元素,返回操作后length

arr.unshift(element1, ..., elementN)

头部插入若干元素,返回操作后length

arr.reverse()

反转元素操作

arr.slice(begin[, end])

返回原数组片段

arr.sort([compareFunction])

对数组排序
compareFunction(a,b)
return 0 b在a前

array.splice(index , howMany[, element1[, ...[, elementN]]])

删除一段并插入新元素,返回删除掉的元素所组成的数组

以下ESC5引入方法 arr.every(callback[, thisArg])

是否每个,返回boolean

function isBigEnough(element, index, array) {
  return (element >= 10);
}
var passed = [12, 5, 8, 130, 44].every(isBigEnough);
// passed is false
passed = [12, 54, 18, 130, 44].every(isBigEnough);
// passed is true
arr.some(callback[, thisArg])

是否有些,返回boolean

function isBigEnough(element, index, array) {
  return (element >= 10);
}
var passed = [2, 5, 8, 1, 4].some(isBigEnough);
// passed is false
passed = [12, 5, 8, 1, 4].some(isBigEnough);
// passed is true
arr.filter(callback[, thisArg])

过滤,返回新数组

function isBigEnough(element) {
  return element >= 10;
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// filtered is [12, 130, 44]

其中callback接受三个参数为
当前元素值
当前元素索引
操作数组

arr.reduce(callback,[initialValue])

对数组每个值顺次计算,最终成为一个值

var total = [0, 1, 2, 3].reduce(function(a, b) {
    return a + b;
});
// total == 6

其中callback接受四个参数为

前值 - 上次计算返回值,或初始值,如未设置初始值则为数组第一个值

当前值

当前索引

操作数组

arr.forEach(callback[, thisArg])

为数组成员执行一次callback

function logArrayElements(element, index, array) {
    console.log("a[" + index + "] = " + element);
}
[2, 5, 9].forEach(logArrayElements);
// logs:
// a[0] = 2
// a[1] = 5
// a[2] = 9

其中callback接受三个参数为
- 元素值
- 元素索引
- 操作数组

arr.map(callback[, thisArg])

根据callback return值,返回一个新数组

var numbers = [1, 4, 9];
var roots = numbers.map(function(value){return Math.sqrt(value)});
/* roots is now [1, 2, 3], numbers is still [1, 4, 9] */

其中callback接受三个参数为
- 元素值
- 元素索引
- 操作数组

参考:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/78074.html

相关文章

  • JavaScript】【对象】属性和方法的总结归纳

    摘要:构造函数原型对象实例对象之间的关系错综复杂,关于它们的属性和方法很多,长得也很像。表示能否修改属性的值。属性和方法以下的属性和方法均以下面的代码为例构造函数指向原型对象,包含所有被实例共享的属性和方法。 构造函数、原型对象、实例对象之间的关系错综复杂,关于它们的属性和方法很多,长得也很像。这里归纳出来,方便记忆和查阅。 对象属性类型 数据属性 [[Configurable]]:表示能否...

    qiangdada 评论0 收藏0
  • Javascript各种数组遍历方法归纳总结和兼容写法

    摘要:主要用于枚举对象数组遍历效率最低的方法。当前数组元素的值。传递给函数的初始值注意对于空数组是不会执行回调函数的。 前言 PS: 2018/04/26 优化一下排版,重新梳理一下方法,补充一些信息,删除JQuery库用法,只讲解Javascript自带的, for in 语句用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。主要用于枚举对象, 数组遍历效率最低的方法。 va...

    Sanchi 评论0 收藏0
  • 浅谈:快速理解JS的原型原型

    摘要:中有基本类型和复杂类型的区分。原型与原型链这里,就引入了两个新的概念。原型对象就是用来存放声明对象中共有的那部分属性。而原型对象自身也是一个对象,它也有自己的原型对象。这样层层上溯,就形成了一个类似链表的结构,这就是原型链。 JavaScript中有基本类型和复杂类型的区分。 当我们在声明一个基本类型时: var n1= 1; console.log(n1); //1 这时我们可以用N...

    ZoomQuiet 评论0 收藏0
  • JavaScript设计模式与开发实践 | 01 - 面向对象的JavaScript

    摘要:在中,并没有对抽象类和接口的支持。例如,当对象需要对象的能力时,可以有选择地把对象的构造器的原型指向对象,从而达到继承的效果。本节内容为设计模式与开发实践第一章笔记。 动态类型语言 编程语言按数据类型大体可以分为两类:静态类型语言与动态类型语言。 静态类型语言在编译时已确定变量类型,动态类型语言的变量类型要到程序运行时,待变量被赋值后,才具有某种类型。 而JavaScript是一门典型...

    suxier 评论0 收藏0
  • 真正理解 JavaScript (中高级知识总结)

    摘要:本文整理了我对的一些理解,试将零散的知识归总。此文非语法整理,内容偏中高级,如有纰漏或错误,请予以指正。原型对象原型对象通常由内置函数对象创建,它通常是一个普通对象,但也可能是函数对象。构造器的属性中只包含全局对象参考资料 分享一篇我在2015年底做的总结笔记。本文整理了我对 JavaScript 的一些理解,试将零散的知识归总。此文非语法整理,内容偏中高级,如有纰漏或错误,请予以指正...

    figofuture 评论0 收藏0
  • Javascript设计模式(二)工厂模式

    摘要:所谓的工厂模式,顾名思义就是成批量地生产模式。工厂方法将类的实例化延迟到子类首先是创建构造函数,区别物种的不同属性。工厂模式适用于以下场景实例对象较复杂。设计模式更代表的是一种系统思想,而不是重复的代码堆砌。 所谓的工厂模式,顾名思义就是成批量地生产模式。它的核心作用也是和现实中的工厂一样利用重复的代码最大化地产生效益。在javascript中,它常常用来生产许许多多相同的实例对象,在...

    anonymoussf 评论0 收藏0

发表评论

0条评论

ShevaKuilin

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<