相关文章推荐
体贴的匕首  ·  objective-c和java下解析对象类 ...·  2 月前    · 
冲动的登山鞋  ·  【Qt之JSON文件】QJsonDocume ...·  3 周前    · 
强健的沙发  ·  BoundingBox class | ...·  2 周前    · 
个性的单杠  ·  java ...·  2 周前    · 
淡定的火锅  ·  js文件怎么创建 - ·  昨天    · 
跑龙套的啄木鸟  ·  使用合并以更新插入的方式插入到 Delta ...·  9 月前    · 
眼睛小的匕首  ·  分类预测 | ...·  1 年前    · 
活泼的针织衫  ·  tsconfig.json中声明的角库路径别 ...·  1 年前    · 
细心的南瓜  ·  Pandas读取Excel失败:Excel ...·  1 年前    · 
忐忑的钢笔  ·  改变RecyclerView中未选择/选中的 ...·  1 年前    · 
Code  ›  javascript / es6 -如何获取数组长度大于0的第一个对象值的索引开发者社区
数组 索引 javascript 对象数组
https://cloud.tencent.com/developer/ask/sof/105429627
面冷心慈的草稿纸
1 年前
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
提问
问 javascript / es6 -如何获取数组长度大于0的第一个对象值的索引
Stack Overflow用户
提问于 2017-08-23 01:05:39
EN

我有一个充满数组的对象:

const errors = { name: [], date: ['invalid format'], ... }

我想要找到errors对象中数组长度大于1的第一个值的索引(或者对象键,如果我不能获得索引的话)。因此,在上面的示例中, date 数组是对象中第一个有长度的数组,因此如果需要,我最好返回 1 或 date 。

有人知道用javascript / es6做这件事最简洁最快的方法吗?

3 524 0 票数 0
EN
javascript
arrays
object
ecmascript-6

回答 3

Stack Overflow用户

发布于 2017-08-23 01:09:12

您可以在 Object.keys() 上使用 find() ,它将返回第一个匹配条件或未定义的结果。

​

const errors = { name: [], date: ['invalid format']}
var result = Object.keys(errors).find(e => errors[e].length);
console.log(result)

​

票数 1
EN

Stack Overflow用户

发布于 2017-08-23 01:11:13

JavaScript对象对其属性 没有固有的顺序,因此如果索引确实显着,您可能希望使用数组来代替。

在这一点上,它就像 errors.findIndex(e => e.length > 1) 一样,可以根据您认为合适的方式进行调整。

票数 0
EN

Stack Overflow用户

发布于 2017-08-23 01:11:41

您可以使用 for ..in 遍历对象,使用 Object.prototype.toString 检查该值是否为数组。

此外,为了找到索引,您可能需要使用Object.keys,它将从对象创建一个键数组。Js对象没有 index

​

const errors = {
  name: [],
  test: 1,
  date: ['invalid format'],
  test2: 2
 
推荐文章
体贴的匕首  ·  objective-c和java下解析对象类型和数组类型JSON字符串 - 铭久
2 月前
冲动的登山鞋  ·  【Qt之JSON文件】QJsonDocument、QJsonObject、QJsonArray等类介绍及使用 - FBshark
3 周前
强健的沙发  ·  BoundingBox class | Microsoft Learn
2 周前
个性的单杠  ·  java string转对象数组_mob64ca12d32849的技术博客_
2 周前
淡定的火锅  ·  js文件怎么创建 -
昨天
跑龙套的啄木鸟  ·  使用合并以更新插入的方式插入到 Delta Lake 表中 - Azure Databricks | Microsoft Learn
9 月前
眼睛小的匕首  ·  分类预测 | Matlab实现CNN-SVM卷积支持向量机多特征分类预测_机器学习之心的技术博客_51CTO博客
1 年前
活泼的针织衫  ·  tsconfig.json中声明的角库路径别名无效:模块未找到:错误:无法解决-腾讯云开发者社区-腾讯云
1 年前
细心的南瓜  ·  Pandas读取Excel失败:Excel file format cannot be determined, you must specify an engine manually.指定engine_STR_Liang的博客-CSDN博客
1 年前
忐忑的钢笔  ·  改变RecyclerView中未选择/选中的项目的颜色
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号