相关疑难解决方法(0)

对象数组中的indexOf方法?

获取包含对象的数组的索引的最佳方法是什么?

想象一下这种情况:

var hello = {
    hello: 'world',
    foo: 'bar'
};
var qaz = {
    hello: 'stevie',
    foo: 'baz'
}

var myArray = [];
myArray.push(hello,qaz);
Run Code Online (Sandbox Code Playgroud)

现在我想拥有属性indexOf的对象,在这个例子中,它将是.hello'stevie'1

我是JavaScript的新手,我不知道是否有一个简单的方法,或者我是否应该构建自己的函数来做到这一点.

javascript

471
推荐指数
12
解决办法
51万
查看次数

在JavaScript中循环数组的最快方法是什么?

我从书中学到了你应该写这样的循环:

for(var i=0, len=arr.length; i < len; i++){
    // blah blah
}
Run Code Online (Sandbox Code Playgroud)

所以arr.length每次都不会计算.

其他人说编译器会对此做一些优化,所以你可以写:

for(var i=0; i < arr.length; i++){
    // blah blah
}
Run Code Online (Sandbox Code Playgroud)

我只是想知道哪种是最好的练习方式?

javascript performance loops

233
推荐指数
10
解决办法
18万
查看次数

数组的懒惰笛卡尔积(任意嵌套循环)

其他 语言和其他非懒惰的 JavaScript版本中还有其他问题,但我找不到懒惰的JavaScript版本.

给定一个任意数量的任意大小数组的数组:

var sets = [ [2,3,4,5], ['sweet','ugly'], ['cats','dogs','hogs'] ];
Run Code Online (Sandbox Code Playgroud)

和回调函数:

function holla( n, adj, noun ){
  console.log( [n,adj,noun].join(' ') );
}
Run Code Online (Sandbox Code Playgroud)

什么是优雅的方式来迭代整个产品空间而不首先创建大量所有可能的组合

lazyProduct( sets, holla );
// 2 sweet cats
// 2 sweet dogs
// 2 sweet hogs
// 2 ugly cats
// 2 ugly dogs
// 2 ugly hogs
// 3 sweet cats
// 3 sweet dogs
// 3 sweet hogs
// 3 ugly cats
// 3 ugly dogs
// …
Run Code Online (Sandbox Code Playgroud)

javascript

8
推荐指数
4
解决办法
3649
查看次数

列表操作导致无限循环

我试图在Ionic Framework中创建一个用于列表目的的数组,并检查所有callcenter名称的第一个char,将它们添加到字母数组中.

  for (var i = 0; i < callcenterList.length; i++) {
    var value = callcenterList[i]._owner && callcenterList[i]._owner.company.name[0];

    if ((alphabet.indexOf(value) == -1 && isNaN(parseInt(value))) ||
      (isNaN(alphabet[0]) && !isNaN(value))) {
      if(!isNaN(value))
        value = 123;

      alphabet.push(value);

      callcenterList.splice(i, 0, {
        divider: {
          alphabet: value
        }
      });
    }
  };
Run Code Online (Sandbox Code Playgroud)

更换value = 123value = '#'的原因谷歌浏览器和谷歌Chrome金丝雀发生故障,并立即在Mac上使用最多的RAM 100%.

这是一个Javascript错误还是与Google Chrome本身有关?

javascript arrays infinite-loop

5
推荐指数
1
解决办法
129
查看次数

标签 统计

javascript ×4

arrays ×1

infinite-loop ×1

loops ×1

performance ×1