js数组(一)
一、创建数组两种方法:
1Array构造
var colors = new Array();
2、字面量表示
什么事字面量,如
var colors = ["red","green",""];
数组项,方括号组成,多个数组项用逗号隔开;
red是数组项
3、
var colors = [,,,];
alert(colors.length);//谷歌是3,IE8以下是4
var names = [];//创建一个空数组
var colors = ["red", "green"];//创建一个包含三项的字符串
4、修改数组
var colors = ["red","green",""];
colors[1] = 'black';
var name = colors[1]
alert(name);
5、利用length属性添加末尾项的数组
var colors = ["red", "green"];//创建一个包含三项的字符串
colors[colors.length] = 'black';
alert(colors.length);//3
alert(colors[2]);//black
二、检测数组
1、确定某个对象是不是数组,使用instanceof
var value = ["hello"];
if(value instanceof Array){
alert('yes');//输出YES
}
else{
alert('no');
}
2、Array.isArray(),IE9以上支持
var value = ["hello"];
if(Array.isArray(value)){
alert('yes');
}
else{
alert('no');
}
三、转换方法
1、
四、栈方法
pop(),push()后进先出
1、push()方法
var colors = new Array();
var count = colors.push("red","yellow");//逐个添加数组末尾
alert(count);//2
alert(colors);//red,yellow
var colors = new Array();
var count = colors.push("red","yellow");//逐个添加数组末尾 count = colors.push("black");
alert(count);//3
alert(colors);//red,yellow,black
2、pop()方法
var colors = new Array();
var count = colors.push("red","yellow");//逐个添加数组末尾 count = colors.push("black");
var item = colors.pop();//移除数组末尾项
alert(item);//black
alert(colors);//red,yellow
五、队列方法
1先进后出
shift().获取数组第一项,使数组的length-1,配合push()使用
var colors = new Array();
var count = colors.push("red","yellow");//逐个添加数组末尾 count = colors.push("black");
var item = colors.shift(); // 获取第一项,red
alert(item);//red
alert(colors);//yellow,black
2、unshift()
var colors = new Array();
var count = colors.unshift("red","yellow");//逐个添加数组末尾
alert(colors);//red,yellow
count = colors.unshift("black");
alert(colors);//black,red,yellow
var item = colors.pop(); // 获取第一项,red
alert(item);//yellow
alert(colors);//black,red
六、重排序方法
1、reverse(),sort()
var value = [1,2,3,4,5];
value.sort();
alert(value);//1,2,3,4,5
2
var value = [1,2,3,4,5];
value.reverse();
alert(value);//5,4,3,2,1
七、操作方法
1、concat()
2、slice()
var colors = ['red','green','blue','purple','white'];
var removed = colors.slice(1); //从位置1开始复制
var colors1 = colors.slice(1,4); //从位置1开始复制,到位置3结束
alert(removed); //green,blue,purple,white
alert(colors); //red,green,blue,purple,white*/
alert(colors1); //red,green,purple*/
3、spliace
删除
var colors = ['red','green','blue'];
var removed = colors.splice(0,1); //删除第0项
alert(removed); //red
alert(colors); //green,blue
插入
var colors = ['red','green','blue'];
var removed = colors.splice(1,0,'yellow','orange'); // 从位置1开始插入 alert(colors); // red,yellow,orange,green,blue
alert(removed); //空数组
替换
var colors = ['red','green','blue'];
var removed = colors.splice(0,1); //删除第1项.colors为green,blue
//alert(removed); //red
//alert(colors); //green,blue removed = colors.splice(1,0,'yellow','orange'); // 从位置1开始插入
//alert(colors); // green,yellow,orange,blue
//alert(removed); //空数组,因为删除0个数组 removed = colors.splice(1,1,'red','purple');//从位置1开始,删除1项,red,purple
alert(colors);//green,red,purple,orange,blue
alert(removed);//yellow,因为删除yellow这个项
js数组(一)的更多相关文章
- 小兔JS教程(四)-- 彻底攻略JS数组
在开始本章之前,先给出上一节的答案,参考答案地址: http://www.xiaotublog.com/demo.html?path=homework/03/index2 1.JS数组的三大特性 在J ...
- js数组学习整理
原文地址:js数组学习整理 常用的js数组操作方法及原理 1.声明数组的方式 var colors = new Array();//空的数组 var colors = new Array(3); // ...
- 转→js数组遍历 千万不要使用for...in...
看到一篇内容还不错,但是排版实在糟糕, 逼死强迫症患者啊,直接拉下去找原文连接,找到了,但是已经消失了···500错误... 第一次因为实在看不下去一篇博客的排版, 为了排版而转载... 转载地址:h ...
- js数组操作大全
原文(http://www.cnblogs.com/webhotel/archive/2010/12/21/1912732.html) 用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简 ...
- js数组去重的4种方法
js数组去重,老生长谈,今天对其进行一番归纳,总结出来4种方法 贴入代码前 ,先对浏览器Array对象进行支持indexOf和forEach的polyfill Array.prototype.inde ...
- js 数组处理函数
本文转载自有有<js 数组处理函数> concat 将参数列表连接到原数组后面形成一个新的数组并返回,原有数组不受影响. var arr = ["a","b& ...
- js 数组赋值问题 :值传递还是引用?
转载于知乎var a = [1,2,3]; var b = a; a = [4,5,6]; alert(b); //[1,2,3] 面试时被问到这样一个问题,竟然从来没试过... 当时直接的理解,数组 ...
- JS数组方法汇总 array数组元素的添加和删除
js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^ var arr = new Array(); arr[0] = "aaa"; arr[ ...
- js数组操作
用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学! ...
- js数组操作【转载】
用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多,自以为js高手的自己居然无从下手,一下狠心,我学!呵 ...
随机推荐
- 开发网站相关知识html和javascript
1.html 布局 https://github.com/bramstein/jlayout/ http://welcome.totheinter.net/columnizer-jquery-plug ...
- 关于jQuery中的attr和data问题
今天在使用data获取属性并且赋值时遇到一个小问题,写下来防止以后再跳坑. 在使用jQuery获取自定义属性值时,我们习惯用 $(selector).attr('data-value'); jQuer ...
- BaseFragment的定义—所有Fragment的父类
public abstract class BaseActivity extends AppCompatActivity implements View.OnClickListener { prote ...
- [XMPP]简易的聊天室实现[一]
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- UVA 816 Abbott’s Revenge
bfs求最短路,递归打印最短路的具体路径: 难点: 当前状态和转弯方式很复杂,要仔细处理: 递归打印:用一个数组存储路径中结点的前一个节点,递归查找 (bfs无法确定下一个结点,但对于没一个结点,它的 ...
- ZigBee 技术简介
Zigbee是IEEE 802.15.4协议的代名词.根据这个协议规定的技术是一种短距离.低功耗的无线通信技术.这一名称来源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飞翔和“嗡嗡”(zig)地抖动翅 ...
- 解决C/C++程序执行一闪而过的方法(三种办法)
简述 在VS编写控制台程序的时候,包括使用其他IDE(Visual C++)编写C/C++程序,经常会看到程序的执行结果一闪而过,要解决这个问题,可以在代码的最后加上system(“pause”).g ...
- UML_交互图
交互图(Interaction Diagram)用来描述系统中的对象是如何进行相互作用的.即一组对象是如何进行消息传递的. 当交互图建模时,通常既包括对象(每个对象都扮演某一特定的角色),又包括消息( ...
- Js节点属性与方法
属性: Attributes 存储节点的属性列表(只读) childNodes 存储节点的子节点列表(只读) dataType 返回此节点的数据类型 Definition 以D ...
- c++崩溃错误2
使用了内联函数: 在头文件中声明和定义内联函数是正确的 但是在头文件中声明内联函数,而在.cpp文件中定义了内联函数会导致崩溃的 .h class stu{ inline void str(): } ...