2017-javascript

js常见操作数组

    //删除最后一个
    var a = [1,2,3,4,5];
    a.pop();

    //删除第一个
    var b = [1,2,3,4,5]; 
    b.shift();

    //增加到最后
    var c = [1,2,3,4,5]; 
    c.push(6);

    //增加到最前
    var d = [1,2,3,4,5]; 
    d.unshift(0);

    //数组翻转
    var e = [1,2,3,4,5]; 
    e.reverse()

    //数组转成字符串
    var a = [1,2,3,4,5]; 
    var b=a.join('||');//b:"1||2||3||4||5" a:[1,2,3,4,5]

    //数组元素索引
    var a = ['a','b','c','d','e']; 
    a.indexOf('a');//0
    a.indexOf(a);//-1
    a.indexOf('f');//-1
    a.indexOf('e');//4

    //slice截取(切片)数组 得到截取的数组
    var a = ['a','b','c','d','e']; 
    a.slice(1,3);//["b", "c"] a:['a','b','c','d','e']
    a.slice(0,4);//["a", "b", "c", "d"]
    a.slice(3,4);//["d"]

    //splice剪接数组 原数组变化 可以实现shift前删除,pop后删除,unshift前增加,同push后增加一样的效果
    /*参数是2个*/
    //第一参数是索引(从0开始),第二是长度
    var a = ['a','b','c','d','e']; 
    a.splice(0,2);//["a", "b"] a:["c", "d", "e"]
    a.splice(0,2);//["c", "d"] a:["e"]
    var a = ['a','b','c','d','e']; 
    a.splice(0,1);//["a"] a:["b", "c", "d", "e"] 同shift前删除
    var a = ['a','b','c','d','e']
    a.splice(a.length-1,1)l//["e"] a:["a", "b", "c", "d"] 同pop前删除
    /*参数大于2个*/
    //splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,... 
    var a = ['a','b','c','d','e']; 
    a.splice(3,1,10,21,238,99);//["d"] a:["a", "b", "c", 10, 21, 238, 99, "e"]
    var a = ['a','b','c','d','e']; 
    a.splice(a.length,100000000,88)//返回 [] 从最后元素后面的元素,截取长度任意个,肯定是空 a:["a", "b", "c", "d", "e", 88] 同push后增加
    var a = ['a','b','c','d','e']; 
    a.splice(a.length,0,88)//返回 [] 从最后元素后面的元素,截取长度任意个,肯定是空 a:["a", "b", "c", "d", "e", 88] 同push后增加
    var a = ['a','b','c','d','e'];
    a.splice(0,0,88,99)//返回 [] 从第一个元素,截取长度0个 肯定是空 a:[88, 99, "a", "b", "c", "d", "e"] 同unshift前增加

  concat数组合并

  

js常见算法

 

sort:

比较函数两个参数a和b,返回a-b升序,返回b-a降序

var arr = [4,3,6,5,7,2,1];
arr.sort();
arr.sort(function(a,b){
    return b-a;
});

按条件
arr.sort(function(a, b){
        return a.sortNo - b.sortNo;
});

双条件
arr.sort(function(a, b){
    if (a.sortNo === b.sortNo) {
            return b.sortNo2 - a.sortNo2;
    } else {
            return a.sortNo - b.sortNo;
    }
});

  

 js常用方法

let str='123456789'
let k=str.charAt(2) //输出第几个字符
let ka=str.charCodeAt(2) //输出第几个字符的编码
let kb=str.indexOf(4) //查找在第几个位置
let kc=str.search(/4/) //查找在第几个位置,可以用正则查询
let kd=str.replace('2', "W3School")//替换字符

let ke=[1, 2, 3].includes(4)//查找是否存在

let stra='1,2,3,4,5,6,7,8'
let strb=[1,2,3,4,5,6,7,8]
let pa=stra.split(',') //字符串换成数组
let pb=strb.join('&') //数组换成字符串


//let arr1 = JSON.stringify();//这样也能转化为字符串但现在还是数组的形式不过类型已经是字符串了;
//let arr2 = JSON.parse();//这样就是把字符串解析 其实就是把外面的中括号去掉;


let arr=[1,2,3,4,5,6,8,8]
let pc=parseInt(Math.random()*8)

arr.map((kay,i)=>{
	if(pc==i){
		arr.splice(i,1)
	}
})

 js遍历

// forEach
var arr = [1,2,3,4];
arr.forEach(function(ele) {
  console.log(ele)
});
// 1 2 3 4

var arr = [1,2,3,4];
var add = function (ele) {
  ele++;
  return ele;
}
console.log(arr.map(add))

  

面向对象
  var Book = function (title) {
    if (this instanceof Book) {
      alert(1);
      this.title = title;
    }else{
      return new Book(title);
    }
  };
 
  var book = new Book('js');
  alert(book.title);

  


posted @ 2018-02-11 23:11  fm060  阅读(146)  评论(0)    收藏  举报