/*数组*/
var arr = [];
//这里需要注意下:当只有一个值的时候,就会显示一个长度为10的空值
var arr1 = [];
//数组的读和写
/*arr[num]*/ //这里不可以溢出读也就是是结果为undefined
/*arr[num] = xxx;*/ //可以溢出写
//数组的方法
/*在最后一位添加数据*/
arr.push(23,41,56);
//noinspection JSAnnotator
Array.prototype.push() = function () {
for (var i = 0; i < arguments.length; i++){
this[this.length] = arguments[i];
}
return this.length;
};
//在最后一位删除
arr.pop();
//在前边添加
arr.unshift(3);
// arr.slice(从第几位开始,截取多少的长度,在切口处添加新的数据)
// arr.sort() 数据排序
//1:必须写两个形参
// 2:看返回值 2 .1当返回正数,那么后边的数放在前面
// 2.2当返回的数是负数,那么前面的数放在前面
// 2.3为0 则不动
arr.sort(function (a,b) {
return a-b; //升序
// return b-a; //降序
// return Math.random() - 0.5; //l乱序
});
//不能改变原数组
arr.concat(); // 拼接数组
arr.toString(); //把数组转化为字符串
arr.join(); //用什么连接数组,返回字符串
arr.slice(); //从该位开始截取,截取到该位
/*类数组:属性要为索引(数字)属性。必须要有length属性。最好加上push
*/
var objArray = {
"2" :'a',
"3" : 'b',
"length" : 2,
"push" :Array.prototype.push
}
// Array.prototype.push = function(target) {
// this[this.length] = target;
// this.length ++;
// }
objArray.push('c');
objArray.push('d');
function type(target) {
//分两类 原始值 和引用值
var template ={
"[object Array]": "array",
"[object Object]": "object",
"[object Number]": "number-object",
"[object Boolean]": "boolean-object",
"[object String]": "string-object"
}
var ret = typeof (target);
if(target == null){
return null;
}else if ( ret == 'object'){
var str = Object.prototype.toString().call(target);
return template[str];
}else {
return ret;
}
}
//数组去重:利用对象中属性不可能重复的原理
Array.prototype.unique = function () {
var temp ={};
var arr = [];
var len = this.length;
for (var i= 0; i < len; i++){
if (!temp[this[i]]){
temp[this[i]] = 'ab';
arr.push(this[i]);
}
}
return arr;
}
/*
不可配置的属性:一旦经过var 的操作,所得出的属性也就是window属性,delete是删不掉的
*/
/*三目运算符*/
判断条件 ? 是 :否 并且会返回值
js数组
最新推荐文章于 2020-04-30 11:47:23 发布