javascript Array学习

首先感谢Dash 我不再用处处乱找文档了javascript

再次感谢日食记 让个人看到了世界的美好java

好的 咱们进入正题chrome

注解 我全部的学习心得都创建在ECMAscript5以后数组

IE9以前的浏览器概不负责浏览器

javascript Array是一个好玩的对象app

如何检测她呢 首先instanceof是个不错的方法函数

if (value instanceof Array) {
}

不过根据javascript高级程序设计说 这样作 若是一我的从新构造了Array函数 你完了学习

so 这样ui

if(Arrays.isArray(value)) {
}


如今咱们要构造了
this

不过搞那些有啥意思呢 

其实我关心这些构造方式时候产生的类型是否同样

var arr1 = [];
var arr2 = new Array();
var arr3 = Array();

alert(typeof arr1);
alert(typeof arr2);
alert(typeof arr3);

好吧 都是object类型 

你们都知道数组里有个length属性 那么她靠谱吗

var fruits = [];
fruits.push('banana', 'apple', 'peach');

console.log(fruits.length); // 3

fruits[5] = 'mango';
console.log(fruits[5]); // 'mango'
console.log(Object.keys(fruits));  // ['0', '1', '2', '5']
console.log(fruits.length); // 6

卧槽 明明只有4个元素 返回的是6

不过通过个人实验 在现代浏览器(ie9之后版本 chrome firefox safair)上

for (var i = 0; i < fruits.length; i++) {
	console.log(fruits[i]);
};

是会填充undefined的

如今我尝试着修改length属性

fruits.length = 2;
console.log(Object.keys(fruits)); // ['0', '1']
console.log(fruits.length); // 2

卧槽 我以前的数据呢

查看一下Array.length 竟然是可写的

两个做用

  1. 循环数组 相似于foreach

  2. 消除不须要的数组 。。。

Array 实现栈 队列

栈 只有一个出入口 先进后出

so 咱们假设如今有一个空数组

var stack = [];

我想要放入 一些元素

var totalnum = stack.push('angel', 'clown', 'mandarin', 'sturgeon');
console.log(stack); // ['angel', 'clown', 'mandarin', 'sturgeon']
console.log(totalnum); // 4

拿出一个元素

var poped = stack.pop();
console.log(poped); // sturgeon

实现一个 队列

队列 先出先进 进出分开

后面进 前面出

var queue = ['angel'];

arr.push('clown', 'mandarin', 'surgeon'); // = 4
console.log('queue before: ' + queue);

var shifted = queue.shift();

console.log('queue after: ' + queue);
console.log('Removed this element: ' + shifted);

前面进 后面出

一样 只是进使用 unshift   出使用pop

相关文章
相关标签/搜索