JS学习笔记-几个有趣的东西

最近比较详细地翻阅了一下js资料,发现以下几个有趣的知识点

1、string类型不能改变单个字符值

如 var mystr ="BOb",如果你想改变mystr第一个字符的值,使用mystr[0]='j' 会报错

2、shift()分割数组:方法用于把数组的第一个元素从其中删除,并返回第一个元素的值

如var ourArray = ["one","two","three"];myArray = ourArray.shift();得到myArray:"one",ourArray:["two","three"]

3、object对象删除prop属性:delete.obj.prop

4、对象声明方式

var Car = function() {
  this.wheels = 4;
  this.engines = 1;
  this.seats = 1;
};

5、使用map遍历数组

如:将数组 var oldArray = [1,2,3,4,5]的每个数加3

var newArray = oldArray.map(function(val){
  return val+3;
});

6、使用reduce计算数组总和

var array = [4,5,6,7,8];

var singleVal = array.reduce(function(a,b){
  return previousVal+currentVal;
},0);

其中reduce的第二个参数0表示初始值,若不写则初始值默认为数组第一个数的值

7、使用filter过滤数组

var oldArray = [1,2,3,4,5,6,7,8,9,10];
var newArray = oldArray.filter(function(val){
  return val<6;
});

得到的newArray=[1,2,3,4,5]

8、使用sort排序

var array = [1, 12, 21, 2];
array.sort(function(a,b){
  return a<b;
});

上面的a<b也可以用b-a代替

9、其他数组函数

reverse():倒置

split():将字符串按照某一分隔符分隔成数组

join:将数组按照某一连接符连接成字符串

10、js 参数对象

function destroyer(arr) {
  var arrFilter = Array.prototype.slice.call(arguments, 1);
  return arr.filter(function(val){
    for(var i = 0; i<arrFilter.length;i++){
       if(val===arrFilter[i]){
         return false;
       }
    }
    return true;
  });
}

destroyer([1, 2, 3, 1, 2, 3], 2, 3);//return [1,1]

上面这个函数实现了从数组中去掉其他参数的功能,那么这是怎么实现的呢?

我们先来看看方法声明destroyer(arr)和方法调用destroyer([1, 2, 3, 1, 2, 3], 2, 3),由于js可省略参数声明,故我们可知arr代表[1,2,3,1,2,3]

然后观察方法体, Array.prototype.slice.call(arguments, 1)表示将参数从1开始取出并放到数组中

最后通过调用filter函数将参数从数组过滤掉。

后面会持续更新,同时欢迎大家补充

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值