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. js编码规范

    使用统一的 编码规范 编写代码能提高JS代码的可读性,利于后期的维护和扩展,利于团队开发. 引用规范: 1.采用<script>...</script>方式引入 *.js 文件 ...

  2. HDU 1070 - Milk

    给每种牛奶价格和量 要求买最便宜的牛奶 #include <iostream> using namespace std; int t,n; ][]; ],v[]; int main() { ...

  3. Object转换为JSON格式字符串

    简介: 把JS的Object转换为Json字符串. 代码: function ObjectToJson(object) { // Object转换为josn var json = "&quo ...

  4. ASCII码排序,hdu-2000

    Problem Description 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符.   Input 输入数据有多组,每组占一行,有三个字符组成,之间无空格.   Output ...

  5. UVA 10375 Choose and divide

    n! 分解素因子 快速幂 ei=[N/pi^1]+ [N/pi^2]+ …… + [N/pi^n]  其中[]为取整 ei 为数 N!中pi 因子的个数: #include <iostream& ...

  6. 我所不知道的 Chrome 开发者工具

    http://www.oschina.net/translate/things-i-didnt-know-about-chrome-devtools 自打我开始进行Web开发后,我就一直将Firebu ...

  7. 如何测试一个U盘

    功能测试: 1 在windows xp比较流行的操作系统上是否可以识别(装了驱动后是否可以) 2 在电脑上显示的盘符是否正确 3 总空间,可用空间,已用空间是否显示正确 4 u盘中是否可以拷入各种格式 ...

  8. QT下的几种透明效果(三种方法:调色板,透明度属性,自绘)

    1.窗口整体透明,但是窗体上的控件不透明.    通过设置窗体的背景色来实现,将背景色设置为全透.  QPalette pal = palette();  pal.setColor(QPalette: ...

  9. Go语言实现-观察者模式

    前前言 这个类经过我的正式投入使用啊,发现不对劲,这样做可能会导致线程死锁 比如你dispatch一个event,然后在这个回调里把那个事件的侦听给remove掉了,那么就会导致线程死锁(这个问题找了 ...

  10. hdu1258Sum It Up (DFS)

    Description Given a specified total t and a list of n integers, find all distinct sums using numbers ...