数组方法 Array.prototype
Object.prototype
数组的值是有序的集合,每一个值叫做元素,每一个元素在数组中都有数字位置编号,也就是索引,js中数组是弱类型的,数组中可以含有不同类型的元素。数组元素甚至可以是对象或者其他数组
长度范围:1====2的23方-1
new Array(100)//undifind*100
arr[5]=10;
arr.length//6
push()
unshift()
shift()
pop()
var Arr=[1,true,undifind,{x:1},[1,2,3]];
Array.prototype
Array.prototype.join() 默认, 可以自定义-------将数组转换成字符串
demo:
创建一定长度的固定字符循环字符串
new Array(2).join("ab");//abab
new Array(100),创建长度为100的数组,每一个元素是undifind,join中会忽略undifind
Array.prototype.reverse=======将数组逆序,会改变原来的数组
Array.prototype.sort()========对数组进行排序(默认是按字符串进行排序,可以自定义排序的方法) 原数组被修改
Array.prototype.concat() 数组合并 原数组没有被修改
Array.prototype.slice()=====返回部分数组 左闭右开区间 支持负数 -1表示最后一个元素 -2表示倒数第二个元素 原数组不会改变
Array.prototype.splice()======数组拼接 修改原数组 可以接受两个参数 第二个参数表示删除元素的长度 返回被删除的元素
Array.prototype.forEach() 数组遍历 参数是函数 三个参数 1 是对应的元素 2 是下标 3 是遍历的数组本身 不会修改原来的数组
Array.prototype.map()数组映射 不会修改原来的数组
Array.prototype.filter() 数组过滤 返回符合要求的数组 不会修改原来的数组
Array.prototype.every() 返回 true false 数组判断 所有的元素都符合
Array.prototype.some() 返回true false 数组判断 部分元素符合就可以
Array.prototype.reduce() 将一个数组聚合为一个结果 与reduceRight的区别是默认是从数组从左到右 reduceRight是数组从右到左
Array.prototype.reduceRight()
demo:
获取数组的最大值
var arr=[30,40,3,20,10,9,8];
var max=arr.reduce(function(x,y){
return x>y?x:y;
});
可以指定初始化值
var max=arr.reduce(function(x,y){
return x>y?x:y;
},20);
返回数组arr与20只最大的数值
Array.prototype.indexOf()数组检索 可以指定开始检索的位置,第一个参数:需要检测的元素。第二个参数:开始检索的位置
Array.isArray() isArray是Array构造器上的函数,不是原型prototype上的方法,不能直接使用一个数组进行调用
Array.isArray([]);
数组方法 Array.prototype的更多相关文章
- 来自数组原型 Array.prototype 的遍历函数
1. Array.prototype.forEach() forEach() 是一个专为遍历数组而生的方法,它没有返回值,也不会改变原数组,只是简单粗暴的将数组遍历一次 参数: callback() ...
- JavaScript的数组方法(array)
数组方法: 1. concat() 合并数组 2. join() 将数组的元素拼接成字符串,并指定分隔符 3. push() 往数组末尾添加一个元素,并返回新的数组的长度 4. reverse( ...
- JS 数组方法 array数组声明 元素的添加和删除 等
声明数组 var arr1 = [1,2,3,4,5]; var arr2 = new Array(100); //声明长度为100的arr2数组. arr2=[]; arr2.length = 10 ...
- ES6的数组方法之Array.from
首先说说什么是数组:数组在类型划分上归为Object,属于比较特殊的对象,数组的索引值类似于对象的key值. 数组的几个注意点: 1.数组的长度是可读属性,不可更改,数组的长度根据索引最大值. 2.数 ...
- 【js实例】Array类型的9个数组方法,Date类型的41个日期方法,Function类型
前文提要:[js实例]js中的5种基本数据类型和9种操作符 Array类型的9个数组方法 Array中有9个数组方法: 1.检测数组 2.转换方法 3.栈方法 4.队列方法 5.冲排序方法6.操作方法 ...
- js数组方法扩展
/** * Created by Administrator on 2016/9/1. */ //数组去重 Array.prototype.unique = function(){ this.sort ...
- Javascript数组方法(译)
在JavaScript中,数组可以使用Array构造函数来创建,或使用[]快速创建,这也是首选的方法.数组是继承自Object的原型,并且他对typeof没有特殊的返回值,他只返回'object'. ...
- Javascript数组方法探究一二
1. Array.prototype.slice方法 数组的 slice 方法通常用来从一个数组中抽取片断.不过,它还有将“类数组”(比如arguments和HTMLCollection)转换为真 ...
- 前端总结·基础篇·JS(二)数组深拷贝、去重以及字符串反序和数组(Array)
目录 这是<前端总结·基础篇·JS>系列的第二篇,主要总结一下JS数组的使用.技巧以及常用方法. 一.数组使用 1.1 定义数组 1.2 使用数组 1.3 类型检测 二.常用技巧 2.1 ...
随机推荐
- 【设计模式】GOF设计模式趣解(23种设计模式)
创建型模式 1.FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说 ...
- BZOJ1126: [POI2008]Uci
$n \leq 100,m \leq 100$,$n*m$的01矩形,问从左下角开始往上走,每次转弯只能向右,不能经过重复点,不能撞到1,到达点$(x,y)$的方案数,$mod \ \ k$. 感人肺 ...
- 给你两个字符串str1,str2,找出str2在str1中的位置
如题 题目参考链接: http://blog.csdn.net/hxz_qlh/article/details/14110221 代码来自非原创 #include <iostream> # ...
- npm Error: Cannot find module 'proto-list'
Error: Cannot find module 'proto-list' at Function.Module._resolveFilename (module.js:338:15) at Fun ...
- Spring中实现自定义事件
原理: 通过扩展ApplicationEvent,创建一个事件类CustomEvent.这个类必须定义一个默认的构造函数,它应该从ApplicationEvent类中继承的构造函数. 一旦定义事件类, ...
- Nexus搭建Maven私有仓库
原文:http://blog.csdn.net/rickyit/article/details/54927101 前言 Nexus Repository Manager is a Javaapplic ...
- OpenWrt 安装python-sqlite3失败
https://dev.openwrt.org/ticket/12239 #12239 reopened defect Sqlite3 missing in python 汇报人: dgspai@- ...
- Structual设计--Bridge模式
1.意图 将抽象部分与它的实现部分分离.使他们都能够独立地变化. 2.别名 Handle/Body 3.动机 当一个抽象对象可能有多个实现时,通经常使用继承来协调它们.抽象类定义对该抽象的接口.而详细 ...
- sqlzoo练习答案--SELECT within SELECT Tutorial
This tutorial looks at how we can use SELECT statements within SELECT statements to perform more com ...
- FPGA第一篇:SRAM工作原理
一.SRAM概述 SRAM主要用于二级快速缓存(Level2 C ache). 它利用晶体管来存储数据.与DRAM相比,SRAM的速度快,但在同样面积中SRAM的容量要比其它类型的内存小. 大部分FP ...