jsの配列相関関数
19630 ワード
// push
var arr = [1,2,3];
Array.prototype.push = function () {
for(var i = 0; i < arguments.length; i++) {
this[this.length] = arguments[i];
}
return this.length;
}
// pop
Array.prototype.pop = function () {
this.length > 0 ? this.length = this.length - 1 : this.length = 0;
return this.length;
}
// unshift
Array.prototype.unshift = function () {
var L = arguments.length + this.length - 1;
for(var i = L; i > 0; i--) {
if(i > arguments.length - 1){
this[i] = this[i - arguments.length];
}else{
this[i] = arguments[i];
}
}
return this.length;
}
var arr1 = [1,3,6,2,8,7];
// sort
// 1.
// 2. 1) ,
// 2) ,
// 3) 0,
//
arr1.sort(function (a, b) {
// return a > b ? -1 : +1;
return a - b; //
// return b - a; //
})
// ,
var arr2 = [1,2,3,4,5,6,7];
arr2.sort(function (a, b) {
return Math.random() - 0.5;
})
var xiaoliu = {
name : 'liu',
age : 18,
sex : 'male',
face : 'handsome'
}
var xiaoli = {
name : 'li',
age : 28,
sex : 'male',
face : 'amazing'
}
var xiaoqin = {
name : 'qin',
age : 22,
sex : 'male',
face : 'handsome'
}
//
var arr3 = [xiaoli, xiaoliu, xiaoqin];
arr3.sort(function(a, b) {
// return a.age - b.age;
return (a["age"] - b["age"]);
})
//
var arr4 = ['ac', 'bcd', 'cccc', 'dddd', 'asadasdafa', 'dsafdsfsafdsfds','s'];
arr4.sort(function(a, b){
return a.length - b.length;
})
//
function retBrtys(str) {
var num = str.length;
for(var i = 0; i < num; i++){
if(str.charCodeAt(i) > 255){
num ++
}
}
return num;
}
var arr5 = ['ac ', 'bcd', 'cccc ', 'dddd', 'asadasdafa', 'dsafdsfsafdsfds','s'];
arr5.sort(function(a, b){
return retBrtys(a) - retBrtys(b);
})
//
// concat ,
arr6 = [1,2,3,4,5];
arr7 = [6,7,8,9,10];
arr6.concat(arr7);
// slice() 1
// 2 (1,2)
// 0
// join string
// arr7.join("| ");
// split()