“定义”数组元素的计数

2024-01-19

给定以下数组:

var arr = [undefined, undefined, 2, 5, undefined, undefined];

我想得到元素的数量are定义(即:那些是not undefined)。除了循环遍历数组之外,还有什么好的方法吗?


在最近的浏览器中,您可以使用filter https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/filter

var size = arr.filter(function(value) { return value !== undefined }).length;

console.log(size);

另一种方法,如果浏览器支持indexOf https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf对于数组:

var size = arr.slice(0).sort().indexOf(undefined);

如果荒谬的是你的数组中只有一位元素,你可以使用这个肮脏的技巧:

console.log(arr.join("").length);

您可以使用多种方法,但最后我们必须看看是否真的值得使用这些方法而不是循环。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“定义”数组元素的计数 的相关文章

随机推荐

  • 无法保留运行之间的空间

    我想生成一个word文档 作为输入 我有这个字符串 开放包装约定 每个单词都有不同的样式 结果应该是open包装惯例 WordprocessingDocument document WordprocessingDocument Create
  • java属性改变监听器

    我需要处理两个类之间的更改交互 public class HeadClass private Subclass sub public void refresh public class Subclass ArrayList store pu
  • 如何在托管 C++ 中捕获非托管 C++ 异常

    我正在一个大型非托管 C 库和一个大型 C 库上开发一个瘦托管 C 包装器 我需要捕获源自该大型非托管 C 库的错误 并将它们作为 Clr 异常重新抛出 非托管库抛出以下类的实例 Error Error const std string f
  • C# Treeview 移动节点后不刷新

    在我的 Windows 应用程序中 我有一个树视图 我制作了自定义按钮来向下移动节点 单击按钮时会发生以下情况 Node destNode tvCategories SelectedNode NextNode Node srcNode tv
  • 我需要帮助才能在同步模式下进行 FB.api() 调用

    我在 for 循环中运行 FB api 时遇到问题 for var i 0 i lt commentObjectLength i var fbFeedID commentObject OwnCommentList i fbFeedID va
  • 基于机架的 Web 服务器是否代表 FastCGI 协议?

    我读到 CGI FastCGI 是一种用于将外部应用程序连接到 Web 服务器的协议 因此 Web 服务器 如 Apache 或 NginX 通过套接字将环境信息和页面请求本身发送到 FastCGI 进程 并且 FastCGI 通过同一连接
  • ng-repeat 定义的次数而不是在数组上重复的方法?

    有没有办法ng repeat定义的次数而不是总是必须迭代数组 例如 下面我希望列表项显示 5 次 假设 scope number等于 5 并增加数字 因此每个列表项都会增加 1 2 3 4 5 期望的结果 ul li span 1 span
  • 从 Python 快速导入自定义 SPSS 命令

    我编写了一个简洁的 Python 模块 其中包含一些自定义 SPSS 函数供我的同事使用 但是 要使用该功能 他们首先需要输入 BEGIN PROGRAM 在实际调用函数之前导入模块等 因为他们中的大多数人并不精通技术 所以我希望让事情变得
  • TextBox.TextAlign右对齐在某些情况下没有效果?

    我的 Visual C Express 2010 表单应用程序中有一个路径选择器 我用的是FolderBrowserDialog和一个 单行 TextBox 显示所选路径 在我的 UI 刷新代码中使用以下行 this textBoxFold
  • 在 Flutter 中,Getx 包unknownRoute 不起作用

    我开始在 flutter 中学习 Getx 并使用导航 我想设置unknownRoute 以防命名路由中存在拼写错误等 因此应用程序应该转到默认页面 我确实喜欢这样 return GetMaterialApp title Named nav
  • 如何在 Scala 中获取 Ponter/Reference 语义

    在 C 中 我只需要一个指向 arr idx 的指针 或引用 在 Scala 中 我发现自己创建这个类来模拟指针语义 class SetTo val arr Array Double val idx Int def apply d Doub
  • git 过滤器不是“取消修改”文件

    我正在使用一个 IDE 它在一些已生成但强烈需要的库文件中生成一个版本 因此 如果我想使用具有多个版本的库 或者我看到大量实际上毫无意义的更改 就会出现问题 Summary 我想忽略一个single一个或多个文件的行 我认为 git 的过滤
  • 如何制作用于api调用的通用改造库

    我正在研究 API 集成 我想为 API 集成创建通用类 它可以适应所有 API 集成 现在我对所有 API 使用单独的代码 我是 Android 应用程序开发的新手 所以请指导我 public void getHomeCategoryDe
  • C++ 类型“char*”和“const char [2]”到二进制“operator+”的无效操作数

    当尝试执行以下简单代码时 编译器返回错误 类型 char 和 const char 2 到二进制 operator 的无效操作数 BodyText client PS3 ReadString 0x0178646c n 这是我的 ReadSt
  • 为什么我在 matplotlib 中的绘图不显示轴

    我的绘图遇到了麻烦 因为当我处理它时 轴标签似乎显示在 Jupyter Notebooks 中 但是 当我将文件导出到 py 文件并在终端中运行它时 给出的图表没有轴标签 fig plt figure figsize 15 5 ax fig
  • Kotlin 类转换异常

    我是 Android 开发新手 我在教程中看到了这段代码 class MainActivity AppCompatActivity private val newNumber by lazy LazyThreadSafetyMode NON
  • BCP 导入错误“强制转换规范的字符值无效”

    全部 我使用 BCP 进行导入导出 并在尝试导入回来时仅 1 导出的第一行 行出现 强制转换规范的字符值无效 错误 表结构 Col1 数字 19 0 第 2 列 NVARCHAR 400 Col3 NVARCHAR 400 我正在使用以下命
  • 在动画中切换位置属性上的 CABasicAnimation 会导致闪烁

    我有一些代码使用 CALayers 使气泡从下到上流动 如果用户触摸屏幕 我会编写一些代码 将当前正在运行的动画替换为具有手指触摸的 toPoint 的动画 当动画切换时 它会导致设备上 而不是模拟器上 闪烁 任何有关消除闪烁的提示将不胜感
  • 获取html文件的最后修改日期

    在导入到我的网络应用程序中时 如何找出 html 文件的最后修改日期 html 文件位于另一台服务器上 不同的用户可以进行更新 当我检索页面时 我希望能够看到它的上次更新时间 以便我可以在主页上标记更新日期 我 我假设您正在使用 HTTP
  • “定义”数组元素的计数

    给定以下数组 var arr undefined undefined 2 5 undefined undefined 我想得到元素的数量are定义 即 那些是not undefined 除了循环遍历数组之外 还有什么好的方法吗 在最近的浏览