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基本概念(数组)的更多相关文章

  1. javascript 详解数组

      概念 数组创建 数组读写 数组 VS. 一般对象 相同点 不同点 稀疏数组 数组的length属性 元素增删 数组迭代 二维数组 数组方法 Array.prototype.join Array.p ...

  2. JavaScript中对数组和数组API的认识

    JavaScript中对数组和数组API的认识 一.数组概念: 数组是JavaScript中的一类特殊的对象,用一对中括号“[]”表示,用来在单个的变量中存储多个值.在数组中,每个值都有一个对应的不重 ...

  3. JavaScript中的数组和字符串

    知识内容: 1.JavaScript中的数组 2.JavaScript中的字符串 一.JavaScript中的数组 1.JavaScript中的数组是什么 数组指的是数据的有序列表,每种语言基本上都有 ...

  4. JavaScript的概念,引入,基本数据类型

    08.05自我总结 JavaScript 一.概念 JavaScript(下文我们会用简称JS来代替)是脚本编程语言,JS语言开发的文件是以.js为后缀,通过在html文件中引入该js文件来控制htm ...

  5. javascript中稀疏数组和密集数组

    密集数组 数组是一片连续的存储空间,有着固定的长度.加入数组其实位置是address,长度为n,那么占用的存储空间是address[0],address[1],address[2].......add ...

  6. 面试官:JavaScript如何实现数组拍平(扁平化)方法?

    面试官:JavaScript如何实现数组拍平(扁平化)方法? 1 什么叫数组拍平? 概念很简单,意思是将一个"多维"数组降维,比如: // 原数组是一个"三维" ...

  7. 前端开发:Javascript中的数组,常用方法解析

    前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...

  8. JavaScript 基础回顾——数组

    JavaScript是无类型语言,数组元素可以具有任意的数据类型,同一个数组的不同元素可以具有不同类型.数组的元素设置可以包含其他数组,便于模拟创建多维数组. 1.创建数组 在JavaScript中, ...

  9. javascript里面的数组,json对象,动态添加,修改,删除示例

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  10. javascript中关于数组的一些鄙视题

    一.判断一个数组中是否有相同的元素 /* * 判断数组中是否有相同的元素的代码 */ // 方案一 function isRepeat1(arrs) { if(arrs.length > 0) ...

随机推荐

  1. eclipse中的debug的用法

    最基本的操作是: 1.首先在一个java文件中设断点,然后debug as-->open debug Dialog,然后在对话框中选类后--> Run 当程序走到断点处就会转到debug视 ...

  2. Fragment之一:Fragment入门

    参考自张泽华视频 Fragment是自Android3.0后引入的特性,主要用于在不同的屏幕尺寸中展现不同的内容. Fragment必须被嵌入Activity中使用,总是作为Activity的组成部分 ...

  3. 设置ssh免密码登录脚本(hadoop自动化部署脚本一)

    设置ssh免密码登录脚本(hadoop自动化部署脚本一) 设置ssh免密码登录脚本(飞谷云大数据自动化部署脚本一) 1.#!/bin/sh2.#important note:this script i ...

  4. JavaScript 数组操作备忘

    数组的定义: 方法1. var mycars=new Array()mycars[0]="Saab"mycars[1]="Volvo"mycars[2]=&qu ...

  5. c# excel sheep 导出

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Da ...

  6. tty/pts 相关指令

    http://unix.stackexchange.com/questions/136662/how-can-we-know-whos-at-the-other-end-of-a-pseudo-ter ...

  7. centos Ddos防范开源软件使用及apache ab压测 测试

    1,检索特定字符的相同行,用于过滤点一些命令行的头说明

  8. API经济产业

    技术大咖为我们铺好了前进道路,我们为什么还要敬而远之舍近索远呢?充分利用开源,利用API进行App有效整合. 为应用添加日志功能,Loggly; 为应用添加用户管理和身份认证模块,Stormpath; ...

  9. redhat enterprise 6.3 x86_64 上安装VirtualBox详细教程

    这个教程真难找..... 安装第一步遇到的问题就是不能使用yum安装包,这是由于redhat是收费版,所以需要更新yum源列表,具体可以参考 http://www.cnblogs.com/tina-s ...

  10. vim改变多窗口的大小

    摘自:http://blog.163.com/lgh_2002/blog/static/44017526201031671927647/ vim改变多窗口的大小 VIM改变窗口大小 *window-r ...