数组方法 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 ...
随机推荐
- [POJ3041] Asteroids(最小点覆盖-匈牙利算法)
传送门 题意: 给一个N*N的矩阵,有些格子有障碍,要求我们消除这些障碍,问每次消除一行或一列的障碍,最少要几次. 解析: 把每一行与每一列当做二分图两边的点. 某格子有障碍,则对应行与列连边. ...
- 【BZOJ3295】动态逆序对(BIT套动态加点线段树)
题意:对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数. 给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对 ...
- 指针与数组的对比(——选自:C++内存管理技术内幕)
数组: 数组要么是在静态存储区上创建(如全局数组),要么是在栈上创建的.数组名代表着 段连续的内存,其地址和容量在生命周期内是不会改变的,而只能改变其数组内容. 指针: 指针是一种指针类型的变量,变量 ...
- Xcode waring: no rule to process file *** 警告提示
在编译程序的时候,Xcode给出了警告:warning: no rule to process file *** 类似的警告, 解决方法: 在[build Phases] -> [Compile ...
- Python中排序的灵活使用
Python中列表按指定标准排序实例 概述 本题需要先输入机器的数目和任务的数目. 在接下来的n行中每行分别包含机器的最大执行时间和机器所能执行任务的最大强度. 在接下来的n行中每行分别包含任务执行时 ...
- HDU 6396 贪心+优先队列+读入挂
Swordsman Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total ...
- redis连接数据库进行操作
该项目需要的类目录 1.首先我们需要创建我们的实体类 2.放置我们的dao层,在里面写入方法 3.配置类Appconfig需要加入我们的JdbcTemplate方法,因为我们用的是spring,所以需 ...
- SpringMVC Ueditor1.4.3 未找到上传数据
ueditor自事的fileupload组件与spring的有冲突.将那个类BinaryUploader 重写就可以了 return storageState; ...
- SQL Server Fundamentals
http://www.cnblogs.com/CreateMyself/category/810461.html
- ArcGIS Engine中的Symbols详解
转自原文ArcGIS Engine中的Symbols详解 本文由本人翻译ESRI官方帮助文档.尊重劳动成果,转载请注明来源. Symbols ArcObjects用了三种类型的Symbol(符号样式) ...