前端 数据操作

对象obj类型的数据操作

  • 常用于点击当前目标,从接口获取新数据,重新渲染图标之类

    obj.find((row, index) => (index === item.dataIndex))

数组arr类型的数据操作

  • arr.forEach(fn())

    参数为回调函数,回调函数参数依次为value 、 index 、 arr 对数组中的每个元素进行回调函数操作

example

var array = [1, 2, 3];

delete array[1]; // 移除 2
alert(array); // "1,,3"

alert(array.length); // but the length is still 3

array.forEach(alert); // 弹出的仅仅是1和3

复制代码

如果兼容低端浏览器

if (typeof Array.prototype.forEach != "function") {
  Array.prototype.forEach = function (fn, context) {
    for (var k = 0, length = this.length; k < length; k++) {
      if (typeof fn === "function" && Object.prototype.hasOwnProperty.call(this, k)) {
        fn.call(context, this[k], k, this);
      }
    }
  };
}

复制代码
  • arr.map() map的与forEach参数一样,map是表示映射,对元数据每一个元素处理,返回一个新数组,注意回调函数一定要有return值
    var users = [
  {name: "张含韵", "email": "zhang@email.com"},
  {name: "江一燕",   "email": "jiang@email.com"},
  {name: "李小璐",  "email": "li@email.com"}
];
var emails = users.map(function (user) { return user.email; });
console.log(emails.join(", ")); // zhang@email.com, jiang@email.com, li@email.com

复制代码

join() 方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符。

  • arr.filter()

filter为“过滤”、“筛选”之意。指数组filter后,返回过滤后的新数组。用法跟map相似,

filter的callback函数需要返回布尔值true或false.返回的新数组就是符合条件,ture的元素

返回值只要是弱等于== true/false就可以了

var data = [0, 1, 2, 3];
var arrayFilter = data.filter(function(item) {
    return item;
});
console.log(arrayFilter); // [1, 2, 3]
复制代码

"" unde null 0 false这五种情况if判断为错误

转载于:https://juejin.im/post/5c7601e7e51d455f1c31209f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值