小编Gau*_*rav的帖子

Javascript在数组中添加N次相同的元素

假设我有这样的地图:

var map = {"a" : 100, "b" : 200, "c": 700};
Run Code Online (Sandbox Code Playgroud)

我想要一个包含"a"100次,"b"200次和"c"700次的数组:

map_array = [a, a, a, a, ... a, b, b, b, ... b, c, c, c, ... c]
Run Code Online (Sandbox Code Playgroud)

简单的解决方案是循环频率时间并推入数组:

var map_array = []
for(key in map)
{
    for(var i=1; i <= map[key] ; i++)
    {
       map_array.push(key)
    }
}
Run Code Online (Sandbox Code Playgroud)

但这显然需要时间来处理大数据的过程,我们是否可以努力使上述功能更有效?

javascript arrays performance

7
推荐指数
2
解决办法
4119
查看次数

减少数据存储区写操作

我正在Google App Engine上构建一个Web爬虫.要将已爬网的信息存储在Data Store中,我使用JDO使用以下字段.守则如下:

public class LinkInfo
{
   @PrimaryKey
   @Persistent private String id;

   @Extension(vendorName="datanucleus", key="gae.unindexed", value="true")
   @Persistent private int linkNo;

   @Extension(vendorName="datanucleus", key="gae.unindexed", value="true")
   @Persistent private String link;

   @Persistent private int version;

   @Persistent private String fetchDate;

   @Extension(vendorName="datanucleus", key="gae.unindexed", value="true")
   @Persistent private long fetchTime;

   @Persistent private String nextFetch;

   @Extension(vendorName="datanucleus", key="gae.unindexed", value="true")
   @Persistent private String pageCreationDate;

   @Persistent private int retries;

   @Extension(vendorName="datanucleus", key="gae.unindexed", value="true")
   @Persistent private int retryInterval;

   @Extension(vendorName="datanucleus", key="gae.unindexed", value="true")
   @Persistent private int outLinks;

   @Persistent private float score;

   @Extension(vendorName="datanucleus", key="gae.unindexed", value="true")
   @Persistent private …
Run Code Online (Sandbox Code Playgroud)

google-app-engine web-crawler google-cloud-datastore

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