当前位置:  开发笔记 > 编程语言 > 正文

具有指数缺口的阵列是否具有弥补其缺点的任何益处

如何解决《具有指数缺口的阵列是否具有弥补其缺点的任何益处》经验,为你挑选了0个好方法。

在Javascript数组中,它们的索引可能存在间隙,不应该与简单的元素混淆undefined:

var a = new Array(1), i;
a.push(1, undefined);

for (i = 0; i < a.length; i++) {
  if (i in a) {
    console.log("set with " + a[i]);
  } else {
    console.log("not set");
  }
}

// logs:
// not set
// set with 1
// set with undefined

由于这些间隙破坏了长度属性,我不确定,如果可能的话应该避免它们.如果是这样,我会将它们视为边缘情况,而不是默认情况下:

// default:
function head(xs) {
  return xs[0];
}

// only when necessary:
function gapSafeHead(xs) {
  var i;

  for (i = 0; i < xs.length; i++) {
    if (i in xs) {
      return xs[i];
    }
  }
}

除了head非常简洁的事实之外,另一个优点是它可以用于所有类似数组的数据类型.head只是一个简单的例子.如果在整个代码中需要考虑这些差距,则开销应该是显着的.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有