JavaScript基本概念(数组)
1.数组方法
/**
* join(str)
* 将数组元素转换为字符串并使用参数中的字符串将各字符串链接起来
*/
var a = [1, 2, 3];
a.join(); // "1,2,3"
a.join(' '); // "1 2 3"
a.join(''); // "123"
var b = new Array(10); //长度为10的空数组
b.join('-'); // "---------":9个连字号组成的字符串 /**
* reverse()
* 将数组中的元素顺序颠倒,返回逆序数组,且这个过程也改变调用的数组本身
*/
var a = [1, 2, 3];
a.reverse.join(); // "3,2,1",并且现在的a是[3,2,1] /**
* sort(fun)
* 对数组进行排序并返回该排序后的数组,且这个过程也改变调用的数组本身
*/
var a = [33, 4, 1111, 222];
a.sort(); // 字母表顺序:1111,222,33,4
a.sort(function(x, y){
return x - y;
}); // 数值顺序:4, 33, 222, 1111 /**
* concat()
* 创建并返回一个新数组,它的元素包括调用concat()的原始数组的元素和concat的每个参数
*/
var a = [1,2,3];
a.concat(4,5); //返回[1,2,3,4,5]
a.concat([4,5]); //返回[1,2,3,4,5]
a.concat([4,5],[6,7]); //返回[1,2,3,4,5,6,7]
a.concat(4, [5,[6,7]]); //返回[1,2,3,4,5,[6,7]] /**
* slice()
* 返回制定数组的一个片段或子数组。
*/
var a = [1,2,3,4,5];
a.slice(0,3); //返回[1,2,3]
a.slice(3); //返回[4,5]
a.slice(1,-1); //返回[2,3,4]
a.slice(-3,-2); //返回[3] /**
* splice()
* 从制定位置删除,插入数组元素。
*/
var a = [1,2,3,4,5];
a.splice(3); //返回[4,5],a是[1,2,3]
a.splice(1,1); //返回[2],a是[1,3]
a.splice(1,0,'a','b'); //返回[],a是[1,'a','b',3]
a.splice(1,2,[1,2],3); //返回['a','b'],a是[1,[1,2],3,3] /**
* push()
* 在数组尾部添加一个或多个元素,并返回数组新的长度
*/ /**
* pop()
* 在数组尾部删除一个元素,并返回删除的元素
*/ /**
* unshift()
* 在数组首部添加一个或多个元素,并返回数组新的长度
*/ /**
* shift()
* 在数组首部删除一个元素,并返回删除的元素
*/ /*---------以下是ECMAScript5新增的数组方法---------*/
/**
* forEach()
* 遍历数组元素
*/
var data = [1,2,3,4,5];
//计算数组元素的和
var sum = 0;
data.forEach(function(value) { sum += value; });
//为每个数组元素的值自加1
data.forEach(function(v, i, a) { a[i] = v + 1; }); /**
* map()
* 调用数组的每个元素传递给指定的函数,并返回一个新的数组,它包含该函数的返回值
*/
a = [1,2,3];
b = a.map(function(x) { return x*x; }); //b是[1,4,9] /**
* filter()
* 调用数组的每个元素传递给制定的函数,若函数返回值为true则表示筛选通过,最终返回一个筛选后的数组
*/
a = [5,4,3,2,1];
smallvalues = a.filter(function(x) { return x < 3; }); // [2,1] /**
* every() 和 some()
* 对数组进行逻辑判定,返回true或false,every()是取与,some()是取或
*/ /**
* reduce() 和 reduceRight()
* 具体看权威指南的158页
*/ /**
* indexOf() 和 lastIndexOf()
* 返回数组中具有给定值的元素的索引,效果同字符串的方法一样
*/ /**
* Array.isArray(arr)
* 判断对象是否是数组
*/
JavaScript基本概念(数组)的更多相关文章
- javascript 详解数组
概念 数组创建 数组读写 数组 VS. 一般对象 相同点 不同点 稀疏数组 数组的length属性 元素增删 数组迭代 二维数组 数组方法 Array.prototype.join Array.p ...
- JavaScript中对数组和数组API的认识
JavaScript中对数组和数组API的认识 一.数组概念: 数组是JavaScript中的一类特殊的对象,用一对中括号“[]”表示,用来在单个的变量中存储多个值.在数组中,每个值都有一个对应的不重 ...
- JavaScript中的数组和字符串
知识内容: 1.JavaScript中的数组 2.JavaScript中的字符串 一.JavaScript中的数组 1.JavaScript中的数组是什么 数组指的是数据的有序列表,每种语言基本上都有 ...
- JavaScript的概念,引入,基本数据类型
08.05自我总结 JavaScript 一.概念 JavaScript(下文我们会用简称JS来代替)是脚本编程语言,JS语言开发的文件是以.js为后缀,通过在html文件中引入该js文件来控制htm ...
- javascript中稀疏数组和密集数组
密集数组 数组是一片连续的存储空间,有着固定的长度.加入数组其实位置是address,长度为n,那么占用的存储空间是address[0],address[1],address[2].......add ...
- 面试官:JavaScript如何实现数组拍平(扁平化)方法?
面试官:JavaScript如何实现数组拍平(扁平化)方法? 1 什么叫数组拍平? 概念很简单,意思是将一个"多维"数组降维,比如: // 原数组是一个"三维" ...
- 前端开发:Javascript中的数组,常用方法解析
前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...
- JavaScript 基础回顾——数组
JavaScript是无类型语言,数组元素可以具有任意的数据类型,同一个数组的不同元素可以具有不同类型.数组的元素设置可以包含其他数组,便于模拟创建多维数组. 1.创建数组 在JavaScript中, ...
- javascript里面的数组,json对象,动态添加,修改,删除示例
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- javascript中关于数组的一些鄙视题
一.判断一个数组中是否有相同的元素 /* * 判断数组中是否有相同的元素的代码 */ // 方案一 function isRepeat1(arrs) { if(arrs.length > 0) ...
随机推荐
- [Spring Boot Reference Guide] 读书笔记一 Getting Started
8. Introducing Spring Boot Goals of spring boot: Provide a radically faster and widely accessible ge ...
- Android PorterDuff.Mode
1.PorterDuff.Mode.CLEAR所绘制不会提交到画布上. 2.PorterDuff.Mode.SRC显示上层绘制图片 3.PorterDuff.Mode.DST显示下层绘制图片 4.Po ...
- AlertDialog与DialogFragment
1.AlertDialog 作用:简单的弹出框实现 创建方法: AlertDialog alert = new AlertDialog.Builder(); 使用: new AlertDialog.B ...
- BootStrap 模态框禁用空白处点击关闭,手动显示隐藏,垂直居中
$('#ajax_wait').modal({ backdrop: 'static', keyboard: false }); backdrop:static ,空白处不关闭. keyboard:fa ...
- Oracle EBS-SQL (BOM-16):检查多层BOM.sql
select rownum seq_num, lpad(to_char(level), decode(level, 1, 1, level + 1), '.') bom_level, bbm.ASSE ...
- :gAudit
http://www.doc88.com/p-0794369847693.html http://baike.baidu.com/link?url=pcOUfBpILuEAPFrBSsSU-6Vzg3 ...
- Office OpenXML-Excel(一)
原文 http://www.cnblogs.com/changminglong/articles/2840004.html 适用于 2007 Microsoft Office 套件,Microsoft ...
- 非自定义和自定义Dialog的介绍!!!
一.非自定义Dialog的几种形式介绍 转自:http://www.kwstu.com/ArticleView/kwstu_20139682354515 前言 对话框对于应用也是必不可少的一个组件,在 ...
- JIRA官方:JIRA项目跟踪
问题无处不在 使用JIRA来捕捉任何类型的问题——从软件缺陷到新特性到需求和故事到任务和活动项.你可以很方便地定义自己的问题类型以匹配团队工作需要. 自定义工作流 一个项目跟踪工具不应该决定你的工作方 ...
- 续前篇---数据挖掘之聚类算法k-mediod(PAM)原理及实现
上一篇博文中介绍了聚类算法中的kmeans算法.无可非议kmeans由于其算法简单加之分类效率较高 已经广泛应用于聚类应用中. 然而kmeans并非十全十美的.其对于数据中的噪声和孤立点的聚类带来的误 ...