美文网首页
数组常用方法以及区别

数组常用方法以及区别

作者: 丸子_d7e2 | 来源:发表于2020-10-28 12:05 被阅读0次
filter()和find()的用法区别
应用场景1:假定有一个对象数组A,获取数组中指定类型的对象放到B数组中。
var products = [
  {
    name: "cucumber",
    type: "vegetable"
  },
  {
    name: "apple",
    type: "fruit"
  },
  {
    name: "orange",
    type: "fruit"
  }
];
var filters = products.filter(function(item) {
  return item.type == "fruit";
});
console.log(filters);
//结果:[{name: "apple", type: "fruit"},{name: "orange", type: "fruit"}]
应用场景2:假定有一个对象数组A,过滤掉不满足一下条件的对象,条件:水果 ,价格小于10,数量大于0。
var products = [
  {
    name: "cucumber",
    type: "vegetable",
    quantity: 10,
    price: 5
  },
  {
    name: "apple",
    type: "fruit",
    quantity: 0,
    price: 5
  },
  {
    name: "orange",
    type: "fruit",
    quantity: 1,
    price: 2
  }
];
var filters = products.filter(function(item) {
  //使用&符号将条件链接起来
  return item.type === "fruit" && item.quantity > 0 && item.price < 10;
});
console.log(filters);
//结果:[{name: "orange", type: "fruit", quantity: 1, price: 2}]
应用场景3:假定有对象A和数组B,根据A中id值,过滤掉B中不符合的数据。
var post = { id: 1, title: "A" };
var comments = [
  { postId: 3, content: "CCC" },
  { postId: 2, content: "BBB" },
  { postId: 1, content: "AAA" }
];
function commentsPost(post, comments) {
  return comments.filter(function(item) {
    return item.postId == post.id;
  });
}
console.log(commentsPost(post, comments));
//结果:[{postId: 1, content: "AAA"}],返回的是数组

注意:filter和find区别:filter返回的是数组,find返回的是对象。


2.find()用法详解
应用场景1:假定有一个对象数组A,找到符合条件的对象
var users = [
  { name: "jack", age: 12 },
  { name: "alex", age: 15 },
  { name: "eva", age: 20 }
];
var user = users.find(function(item) {
  return (item.name = "eva");
});
console.log(user);
//结果:{ name: "eva", age: 20 }
注:find()找到第一个元素后就不会在遍历其后面的元素,所以如果数组中有两个相同的元素,他只会找到第一个,第二个将不会再遍历了。

应用场景2:假定有一个对象数组A,根据指定对象的条件找到数组中符合条件的对象。
var post = { id: 1, title: "AAA" };
var comments = [
  { postId: 3, content: "CCC" },
  { postId: 2, content: "BBB" },
  { postId: 1, content: "AAA" }
];
function commentsPost(post, comments) {
  return comments.find(function(item) {
    return item.postId == post.id;
  });
}
console.log(commentsPost(post, comments));
//结果:{postId: 1, content: "AAA"},返回的是对象

相关文章

  • 数组常用方法以及区别

  • 数组的方法

    上一节我们讲了数组的语法和使用,以及数组的遍历等,本节我们主要学习一下数组的常用方法。 数组常用方法 sort()...

  • 数组的方法

    上一节我们讲了数组的语法和使用,以及数组的遍历等,本节我们主要学习一下数组的常用方法。 数组常用方法 sort()...

  • java字符串

    String常用方法 字符串和byte数组之间的相互转换 == 和equals方法的区别 StringBuilde...

  • 数组基础

    数组基础 新建数组 数组方法和属性 数组常用方法 数组的遍历方法

  • Java 基础 08. Java 集合框架

    一、集合概述 概念:对象的容器,定义了对多个对象进行操作的常用方法。可实现数组的功能。 和数组的区别:数组长度 固...

  • 数组

    数组 数组常用方法 数组去重

  • 数组基础

    数组基础 新建数组 数组方法和属性 数组合并 数组常用方法

  • 数组常用方法

    数组常用方法 一、js数组常用方法: 1、join() Array.join() 方法将数组中所有元素都转换成字...

  • JJJJJava集合

    集合与数组的区别 Collection集合的方法 常用集合的分类 Collection 接口的接口 对象的集合(单...

网友评论

      本文标题:数组常用方法以及区别

      本文链接:https://www.haomeiwen.com/subject/rmgxvktx.html