相关疑难解决方法(0)

如何确定Javascript数组是否包含具有等于给定值的属性的对象?

我有一个类似的数组

vendors = [
    {
      Name: 'Magenic',
      ID: 'ABC'
     },
    {
      Name: 'Microsoft',
      ID: 'DEF'
    } //and so on goes array... 
];
Run Code Online (Sandbox Code Playgroud)

如何检查此数组以查看Magenic是否存在?我不想循环,除非我必须.我正在处理可能有几千条记录.

更新

由于这是一个受欢迎的帖子,我想我会分享一些新发现的东西.似乎@CAFxX已经分享了这个!我应该经常阅读这些内容.我遇到了https://benfrain.com/understanding-native-javascript-array-methods/.

vendors.filter(function(vendor){ return vendor.Name === "Magenic" });
Run Code Online (Sandbox Code Playgroud)

使用ECMAScript 2015,使用新的箭头功能更简单:

vendors.filter(vendor => (vendor.Name === "Magenic"));
Run Code Online (Sandbox Code Playgroud)

javascript arrays

538
推荐指数
19
解决办法
54万
查看次数

为什么大多数JavaScript本机函数比它们的朴素实现慢?

我注意到一些 测试,本机JavaScript函数通常比简单的实现慢得多.这背后的原因是什么?

javascript optimization function

21
推荐指数
1
解决办法
1751
查看次数

Javascript过滤器很慢

我的节点应用程序中有两个大型数组.

var styles = [{itemID:..., styleID:..., styleNum:..., otherFields...}]; // 42455 items
var products = [{productID:..., styleNum:..., otherFields...}]; // 72K items
Run Code Online (Sandbox Code Playgroud)

我需要遍历产品并从styles数组中获取关联的styleID,并将新项添加到新数组中.styles数组按styleNum排序.这是我尝试过的:

var i=0, len = products.length, items = new Array(products.length);
for (i = 0; i < len; i++)
{
    var workingItem = products[i];
    var styleID = filterStyles(workingItem.styleNum)[0].styleID; 
    var item = {styleID:..., other fields};
    items[i]=item; 
}
Run Code Online (Sandbox Code Playgroud)

...

function filterStyles(styleNum) 
{
    var results = [];
    var item;
    for (var i = 0, len = createdStyles.length; i < len; i++) 
    {
        item = …
Run Code Online (Sandbox Code Playgroud)

javascript arrays node.js

3
推荐指数
1
解决办法
2806
查看次数

标签 统计

javascript ×3

arrays ×2

function ×1

node.js ×1

optimization ×1