js数组的删改查方法使用

  • 删改查操作均不改变原数组

  • 删除数组中的某项值

    var num = 3;
    var arr = [{name: 1}, {name: 2}, {name: 3}];
    //删除(filter方法),该方法返回一个数组
    var newArr = arr.filter(function (item, index) {
        //不想要的值返回false则删除该项内容,return true则保留该项内容
        return item.name != num;
    }, arr);  //修改filter函数中的this指向
    console.log(newArr); //输出删除该项数据的新数组
    
  • 修改数组中的某项值

    var num = 3;
    var obj = {name: 100};
    var arr = [{name: 1}, {name: 2}, {name: 3}, {name: 2}];
    //修改(map方法)
    var newArr = arr.map(function (item, index) {
        //映射成一个新的数组
        if (item.name == num) { //如果当前项找到了,将最新的对象返回替换原有的
            return obj;
        }
        return item;
    });
    console.log(newArr); //输出修改后的数组
    
  • 查找数组中的某项值

    var num = 3;
    var arr = [{name: 1}, {name: 3, age: 100}, {name: 2}, {name: 3}];
    
    //查询(find方法) findOne 查到一项后返回当前项 不继续查找
    var obj = arr.find(function (item, index) { //返回找到的那一项
        //找到后返回true即可
        if (item.name == num) {
            return true; //返回true则会将当前item返回
        }
    });
    console.log(obj); //输出匹配的第一项内容
    

你可能感兴趣的:(js数组的删改查方法使用)