首页 > 其他分享 >三种办法遍历对象数组,获取数组对象中所有的属性值(key,value);四种方法查找对象数组里面的某个值

三种办法遍历对象数组,获取数组对象中所有的属性值(key,value);四种方法查找对象数组里面的某个值

时间:2023-11-21 16:44:21浏览次数:42  
标签:arr console 数组 对象 小红 value log key name

一,获取对象数组中某属性的所有值

如果是要获取具体第几个属性的值,倒是可以用arr[i].name的方法来实现。
若是全部的属性的值,并返回一个新的数组嘞,思路是加循环遍历
方法如下。
1、from方法

var arr = [
     {
         id: 1,
         name: "小明"
     },
     {
         id: 2,
         name: "小红"
     },
     {
         id: 3,
         name: "小蓝"
     }
 ]
var n = Array.from(arr,({name})=>name);
console.log(n); // ["小明", "小红", "小蓝"]

2、map方法

var userName = arr.map((item)=>{
    return item.name;
})
console.log(userName); // ["小明", "小红", "小蓝"]

3、forEach 方法

var userName = [];
arr.forEach((item)=>{
    userName.push(item.name);
})
console.log(userName); //  ["小明", "小红", "小蓝"]

map方法抽取成公共方法

function getAttrs(array,attr) {
    var result = array.map((item)=>{
        return item[attr];
    })
    return result;
}
console.log(getAttrs(arr,'id')); //  [1, 2, 3]
console.log(getAttrs(arr,'name')); // ["小明", "小红", "小蓝"]

二,还是上面那个对象数组,想要查找对象数组里面的某个值,可以用下面四种方法:

1、some;查看数据里面是否含有这个布尔值(只要有一个满足就可以了)

let s= arr.some((value,index,array)=>{
    return  value.name === '小红';
})
console.log(s); //true

2、every ;查看数组中是否有不满足条件的,和some有相反意思

let a= arr.every((value,index,array)=>{
    return  value.name === '小红';
})
// console.log(a);//false

3、 find; 返回整个item

let f=arr.find((value,index,array)=>{
    return  value.name === '小红';
}) // 找不到的就返回undefined
// console.log(f); //{ id: 2, name: '小红' }

4、findIndex;返回index

let fi=arr.findIndex((value,index,array)=>{
    return  value.name === '小红';
}) // 找不到的就返回-1
// console.log(fi); //1

 

标签:arr,console,数组,对象,小红,value,log,key,name
From: https://www.cnblogs.com/Im-Victor/p/17846938.html

相关文章

  • [4] 寻找两个正序数组的中位数
    /***@param{number[]}nums1*@param{number[]}nums2*@return{number}*/varfindMedianSortedArrays=function(nums1,nums2){constnums=nums1.concat(nums2).sort((a,b)=>a-b)constll=nums.lengthif(ll%2===0){return......
  • java to json / json to java使用FastJson对JSON字符串、JSON对象及JavaBean之间的相
    目录1、准备 2、javato json 3、jsontojava1、准备 1、json格式在线查看2.下载 阿里巴巴json 解析库alibaba/fastjson下载最新的jar包并且放在项目libs目录下,addaslib````2、javato json 比如我们想使用java 编写以下json格式数据{   "creatT......
  • 数组中的指定某一项放置第一位
    constarr=[]this.todoLeftList.forEach((item)=>{arr.push(item.srcSystemCode)})constindex=arr.indexOf('zldc')if(index){constfirst=this.todoLeftList.splice(index,1)[0]this.todoLeftList.unshift(first)} constarr=[]this.tod......
  • 【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret
    问题描述使用.NETAzure.Identity中的 DefaultAzureCredential 认证并连接到AzureKeyVault中,在KeyVault的示例中,并没有介绍如何在代码中设置连接到中国区Azure中。如果直接运行DefaultAzureCredential,会默认连接到GlobalAzure,那需要如何修改才能连接到ChinaAzure中呢? ......
  • 【数据结构】数组和字符串(四):特殊矩阵的压缩存储:稀疏矩阵——三元组表
    4.2.1矩阵的数组表示【数据结构】数组和字符串(一):矩阵的数组表示4.2.2特殊矩阵的压缩存储  矩阵是以按行优先次序将所有矩阵元素存放在一个一维数组中。但是对于特殊矩阵,如对称矩阵、三角矩阵、对角矩阵和稀疏矩阵等,如果用这种方式存储,会出现大量存储空间存放重复信息或零......
  • web04(内置对象,标签)
    九大内置对象out对象:用于向客户端、浏览器输出数据。request对象:封装了来自客户端、浏览器的各种信息。response对象:封装了服务器的响应信息。exception对象:封装了jsp程序执行过程中发生的异常和错误信息。config对象:封装了应用程序的配置信息。page对象:指向......
  • 【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret
    问题描述使用.NETAzure.Identity中的 DefaultAzureCredential认证并连接到AzureKeyVault中,在KeyVault的示例中,并没有介绍如何在代码中设置连接到中国区Azure中。如果直接运行DefaultAzureCredential,会默认连接到GlobalAzure,那需要如何修改才能连接到ChinaAzure中呢......
  • 算法刷题记录-两个数组的交集
    算法刷题记录-两个数组的交集两个数组的交集给定两个数组nums1和nums2,返回它们的交集。输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。示例1:输入:nums1=[1,2,2,1],nums2=[2,2]输出:[2]示例2:输入:nums1=[4,9,5],nums2=[9,4,9,8,4]......
  • 数组
    本章重点1.一维数组的创建和初始化2.一维数组的使用3.一维数组在内存中的储存4.二维数组的创建和初始化5.二维数组的使用6.二维数组在内存中的储存7.数组作为函数参数8.数组的应用实例1:三子棋9.数组的应用实例2:扫雷游戏正文开始1.一维数组的创建和初始化(1)数组的创建数组是一组相同......
  • 判断数组
    判断数组1.通过Array.isArray()判断Array.isArray()用于确定传递的值是否是一个数组,返回一个布尔值leta=[7,8,9];Array.isArray(a);//true2.通过instanceof判断instanceof运算符用于检验构造函数的prototype属性是否出现在对象的原型链中的任何位置,返回一个布尔值let......