<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
//push
// var arr = [1,2,3,1,1,1];
// Array.prototype.push = function () {
// for(var i = 0; i < arguments.length;i++){
// this[this.length] = arguments[i];
// }
// }
// arr.pop();最后一位剪切里面没参数
// arr.unshift(3);
//数组第一位加3
// arr.shift();
//删除第一位
// arr.reverse();
//数组翻转
// arr.splice(从第几位开始,截取多少的长度,在切口处添加新的数据);
//如果数组里面有负数
// splice = function (pos) {
// pos += pos > 0 ? 0 : this.length;
// }
//排序
//升序
// arr.sort();
//降序
// arr.sort().reverse();
//自定义排序
//1.必须写俩形参
//2.看返回值
// 1.当返回值为负数时,那么前面的数放在前面
// 2.为正数,那么后面的数在前 sss
// 3.为0 不动
// arr.sort(function (a , b) {
//
// //return a - b; 升序
// //return b - a; 降序
//
// });
//给一个有序的数组乱序
// var arr = [1,2,3,4,5,6,7];
// arr.sort(function (a,b) {
// if (a > b) {
// return Math.random() - 0.5
// }
// });
// var cheng = {
// name : "cheng",
// age : 18,
// sex : 'male',
// face : "handsome"
// }
// var deng = {
// name : "deng",
// age : 40,
// sex : undefined,
// face : "amazing"
// }
// var wang = {
// name : "wang",
// age : 22,
// sex : 'male',
// face : 'smart'
// }
// var arr = [cheng,deng,wang];
// arr.sort(function (a , b) {
// return b.age - a.age;
// });
// function retBytes(str) {
// var num = str.length;
// for(var i = 0; i < str.length; i++){
// if (str.charCodeAt(i) > 255) {
// num ++;
// }
// }
// return num;
// }
// var arr = ['ab沙发沙发上c','bcd','cc束带结发cc','dddd','sjfjsfjsf','sjfjsjfjssj水电费fjsf','fsfsf','我'];
// arr.sort(function (a,b) {
// return retBytes(a) - retBytes(b);
// })
//连接数组不改变原数组
// var arr = [2,3,5,2,1,5];
// var arr1 = [0,4,6,1,4];
// var arr2 = arr.concat(arr1);
//数组变成字符串 arr.toString();
//截取数组不改变原数组
//slice(从该位开始截取,截取到该位)
// var arr1 = arr.slice(1,3);
//从第几位截取一直截取到头
// var arr2 = arr.slice(2);
// var arr = [41,432,11,368,0];
// //向数组中加入连接符号
// var arr1 = arr.join("-");
// //把字符串按成什么参数拆数组
// var arr2 = arr1.split("-");
// var str = "alibaba";
// var str1 = "baidu";
// var str2 = "tencent";
// var str3 = "toutiao";
// var str4 = "wangyi";
// var str5 = "xiaowang";
// var str6 = "nv";
// //散列
// var arr = [str,str1,str3,str4,str5,str6];
// console.log(arr.join());
//类数组
// function test() {
// console.log(arguments);
// }
// test(1,2,34,5,5);
// //属性要为索引(数字)属性,必须有length属性,最好加上push
// // Array.prototype.push = function (target) {
// // obj[obj.length] = target;
// // obj.length++;
// // }
// var obj = {
// "0" : 'a',
// "1" : '1',
// "2" : 'c',
// "push" : Array.prototype.push,
// "length" : 3,
// "splice" : Array.prototype.splice
// }
// var obj1 = {
// "2" : "a",
// "3" : "b",
// "length" : 2,
// "push" : Array.prototype.push
// }
// obj1.push('c');
// obj1.push('d');
//自创类型识别方法
function mytypeof(target) {
var ret = typeof(target);
var template = {
"[object Array]" : "array",
"[object Object]" : "object",
"[object Number]" : "number - object",
"[object Boolean]" : "boolean - object",
"[object String]" : "string - object"
}
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]]) {
//没有属性值取undefined ---> false 取反 true
temp[this[i]] = 'la';
arr.push(this[i]);
}
}
return arr;
}
var arr = [12,3,1,3,3,4,11,51,1];
</script>
</body>
</html>
JavaScript思维导图——Day 11(数组)
猜你喜欢
转载自blog.csdn.net/weixin_45174208/article/details/104317023
今日推荐
周排行