相关文章推荐
体贴的匕首  ·  objective-c和java下解析对象类 ...·  2 月前    · 
冲动的登山鞋  ·  【Qt之JSON文件】QJsonDocume ...·  1 周前    · 
强健的沙发  ·  BoundingBox class | ...·  1 周前    · 
个性的单杠  ·  java ...·  1 周前    · 
很拉风的罐头  ·  java集成OpenAI的chatGpt功能 ...·  10 月前    · 
奔跑的苦咖啡  ·  Android原生TabLayout使用的超 ...·  1 年前    · 
重感情的板凳  ·  temme:优雅地从 HTML 提取 ...·  1 年前    · 
年轻有为的猴子  ·  sweetalert使用踩坑记--anima ...·  1 年前    · 
冷静的消炎药  ·  Sequelize 中常用的一些方法和参数 ...·  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
1 周前
强健的沙发  ·  BoundingBox class | Microsoft Learn
1 周前
个性的单杠  ·  java string转对象数组_mob64ca12d32849的技术博客_
1 周前
很拉风的罐头  ·  java集成OpenAI的chatGpt功能 - 追极 - 博客园
10 月前
奔跑的苦咖啡  ·  Android原生TabLayout使用的超全解析(看这篇就够了)_Android_脚本之家
1 年前
重感情的板凳  ·  temme:优雅地从 HTML 提取 JSON 数据 - 掘金
1 年前
年轻有为的猴子  ·  sweetalert使用踩坑记--animation配置失效--源码攀爬之旅 - 掘金
1 年前
冷静的消炎药  ·  Sequelize 中常用的一些方法和参数 - 掘金
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号