数组类型是JS中非常常见的类型,而且JS里的数组与其他多数语言中的数组有所不同,它的数组里每一项可以存放任何一种类型的数据,也就是说数组的第一项放的是字符串,第二项可以放数字或对象都没问题。而且JS中的数组长度是任意收缩的,可以人为的规定数组长度,不过不规定也没问题,它会随着数组里项的数量自动改变长度。

在介绍数组的函数之前,先介绍两种判断对象是否是数组的方法:

1. 运用instanceof操作符

实例:

var arr = [1, 2, 3];
alert(arr instanceof Array); //true
var obj = new Object();
alert(obj instanceof Array); //false

2.运用Array中的isArray方法

实例:

Array.isArray([1, 2, 3]);    //true
Array.isArray(new Array()); //true
Array.isArray([]); //true
Array.isArray({}); //false
Array.isArray('string'); //false
 
数组的使用范围很广,功能也很强大,下面就总结下JS中对数组进行处理的函数吧

1. 数组转换为字符串

方法1: toString()

var color = ["red", "blue", "green"];
alert(color.toString()); //red,blue,green
alert(typeof(color.toString())); // string

方法2: join() 此方法接受一个参数作为分隔符分隔字符串,然后返回包含所有数组项的字符串

var color = ["red", "blue", "green"];
alert(color.join(" ")); // red blue green
alert(color.join("$")); // red$blue$green

2.删除数组最后一项

方法: pop()

var color = ["red", "blue", "green"];
var last = color.pop(); // green
alert(color); // red,blue

3.在数组最后插入若干项

方法:push()

var color = ["red", "blue", "green"];
var count = color.push("black", "yellow");
alert(count); // 5

4.在数组前端插入若干项

方法:unshift()

var color = ["red", "blue", "green"];
var count = color.unshift("black", "yellow");
alert(count); //5
alert(color); //black,yellow,red,blue,green

5.删除数组前端第一项

方法:shift()

var color = ["red", "blue", "green"];
var first = color.shift();
alert(first); //red
alert(color); //blue,green
6.为数组排序
方法:sort([compareFunction])
方括号中的compareFunction是可选参数,它代表为数组排序需要遵循的规则,如果没有此参数则默认降数组中的元素都转换成ASICII码进行排序。
var arr1 = [9, 30, 5, 17];
arr1.sort(); //[17, 30, 5, 9]
var arr2 = [China, america, Japan];
arr2.sort(); //[China, Japan, america]
若定义了比较函数,并将它以参数形式传给sort函数,则排序按照相关规则进行,例如对只有数字的数组进行从小到大的排序:
function compare(a, b) {
return a - b;
}
var arr3 = [39, 10, 9, 3];
arr3.sort(compare); //[3, 9, 10, 39]

Javascript中对数组处理的函数汇总的更多相关文章

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

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

  2. JavaScript中常见的字符串操作函数及用法

    JavaScript中常见的字符串操作函数及用法 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信 ...

  3. Javascript中判断数组的正确姿势

    在 Javascript 中,如何判断一个变量是否是数组? 最好的方式是用 ES5 提供的 Array.isArray() 方法(毕竟原生的才是最屌的): var a = [0, 1, 2]; con ...

  4. javascript中的数组扩展(一)

     javascript中的数组扩展(一) 随着学习的深入,发现需要学习的关于数组的内容也越来越多,后面将会慢慢归纳,有的是对前面的强化,有些则是关于前面的补充. 一.数组的本质    数组是按照次序排 ...

  5. JavaScript中的数组详解

    JavaScript中的数组 一.数组的定义 数组是值的有序集合,或者说数组都是数据的有序列表. 二.创建数组 [字面量形式] 1.空数组 var arr=[]; 2.带有元素的数组 var arr= ...

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

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

  7. JavaScript中的数组和字符串

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

  8. JavaScript中的数组创建

    JavaScript中的数组创建 数组是一个包含了对象或原始类型的有序集合.很难想象一个不使用数组的程序会是什么样. 以下是几种操作数组的方式: 初始化数组并设置初始值 通过索引访问数组元素 添加新元 ...

  9. JavaScript中Array(数组) 对象

    JavaScript中Array 对象 JavaScript中创建数组有两种方式 (一)使用直接量表示法: var arr4 = []; //创建一个空数组var arr5 = [20]; // 创建 ...

随机推荐

  1. fatal: read error: Connection reset by peer解决办法

    标签(空格分隔): ceph源码安装,git 问题描述: 源码安装ceph,克隆代码时提示如下错误: [root@localhost ~]# git clone git://github.com/ce ...

  2. jQuery笔记——选择器

    jQuery 最核心的组成部分就是:选择器引擎.它继承了 CSS 的语法,可以对 DOM 元 素的标签名.属性名.状态等进行快速准确的选择,并且不必担心浏览器的兼容性 常规选择器 根据id选择元素就是 ...

  3. 解决:An internal error occurred during: "Launching New_configuration". Path for project must have only one segment.

    问题: 点击运行时eclipse报错如下: An internal error occurred during: "Launching New_configuration". Pa ...

  4. mysql安装与基本管理

    一.MySQL介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是 ...

  5. Python Twisted网络编程框架与异步编程入门教程

    原作出处:twisted-intro-cn 作者:Dave 译者:杨晓伟 luocheng likebeta 转载声明:版权归原作出处所有,转载只为让更多人看到这部优秀作品合集,如果侵权,请留言告知 ...

  6. maven项目引入外部jar包的三种方式

    方式1:dependency 本地jar包 <dependency> <groupId>com.hope.cloud</groupId> <!--自定义--& ...

  7. Jenkins+maven+SVN构建java项目中遇到的问题及解决

    [ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a g ...

  8. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 8_Neural Networks Representation 神经网络的表述

    神经网络是一种受大脑工作原理启发的模式. 它在许多应用中广泛使用:当您的手机解释并理解您的语音命令时,很可能是神经网络正在帮助理解您的语音; 当您兑现支票时,自动读取数字的机器也使用神经网络. 8.1 ...

  9. Sprite Editor

    [Sprite Editor] 在Unity3D中,一个图片可以有多种类型(如下图).对于2D游戏开发,最常用的类型就是Sprite. 下图是Sprite Texture的属性,Packing Tag ...

  10. Spring总结一:Srping快速入门

    Sping是什么: Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用.Spring是于2003 年兴起的一个轻量级的J ...