首页 > 代码库 > javascript Array学习

javascript Array学习

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

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

好的 我们进入正题

注解 我所有的学习心得都建立在ECMAscript5之后

IE9之前的浏览器概不负责

javascript Array是一个好玩的对象

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

if (value instanceof Array) {
}

不过根据javascript高级程序设计说 这样做 如果一个人重新构造了Array函数 你完了

so 这样

if(Arrays.isArray(value)) {
}


现在我们要构造了

不过搞那些有啥意思呢 

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

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

现在我尝试着修改length属性

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

卧槽 我之前的数据呢

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

两个作用

循环数组 类似于foreach

消除不需要的数组 。。。 随便该改的

javascript Array学习