JavaScript 学习笔记 五 数组
程序员文章站
2022-03-28 11:13:15
...
//数组,包含有 pop,push 等类似与栈的操作,又有 slice, reverse,sort 这样类似与列表的操作
var arr = new Array(1,1,1,2,3,1);
arr.sort();alert(arr);//排序 sort不关注数组中的内容是数字还是字母,它仅仅是按照字母的字典序来进行排序
arr.sort(function(a, b){return a - b;});alert(arr);//正序排序,自定义规则排序 针对数字
arr.sort(function(a, b){return b - a;});alert(arr);//逆序排序,自定义规则排序 针对数字
arr.length = 3;alert(arr);//这个变量并非只读属,通过设置length 属性来将数组元素裁减
var array = ["one", "two", "three", "four"];//字面量方式来创建
var array2 = ["yet", "another", "array"];
var newArr = arr.concat(array,array2);//拼接
alert(newArr.slice(2,4));// 提取 newArr 数组中从第2个后面的开始到第4个之间的元素
var ssArr = newArr.slice(2);
newArr.splice(2,4);alert(newArr);//第二个开始删除 4个元素
newArr.splice(2,0,"aa","bb");alert(newArr);//第二个开始删除0个元素,并添加后面的元素
var str = array.join("|");//把数组以 | 来拼接成字符串
alert(str);
//删除元素,以后数组就拥有了删除元素的功能
//影响整个原型链
Array.prototype.remove = function(from, to) {
var rest = this.slice((to || from) + 1 || this.length);
this.length = from < 0 ? this.length + from : from;
return this.push.apply(this, rest);
};
array.remove(2);
alert(array);
//不影响整个原型链,调用的时候需要显示的调用
//相当于给 JavaScript 内置的 Array 添加了一个静态方
Array.remove = function(array, from, to) {
var rest = array.slice((to || from) + 1 || array.length);
array.length = from < 0 ? array.length + from : from;
return array.push.apply(array, rest);
}
Array.remove(array,0,2);//删除0, 1, 2三个元素
//注意点: 除非必要,尽量不要对全局对象进行扩展,因为对全局对象的扩展会造成所有
// 继承链上都带上“烙印”,而有时候这些烙印会成为滋生 bug 的温床。
转载于:https://my.oschina.net/edwin0/blog/896028
上一篇: JavaScript学习笔记(五)
推荐阅读
-
Oracle学习笔记(五)
-
Python3.4学习笔记之列表、数组操作示例
-
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
-
C#线程学习笔记五:线程同步--事件构造
-
Java学习笔记(5)--- Number类和Math 类,String类的应用,Java数组入门
-
JavaScript常见的五种数组去重的方式
-
Java 学习笔记 二维数组和对象数组
-
Arcgis API for JavaScript学习笔记之Task(任务)的实例
-
JavaScript的MVVM库Vue.js入门学习笔记
-
ASP.NET学习笔记(五)-全球化部署,网站发布方法,AJAX使用,水晶报表使用,DropDownList,CheckBox全选