我有一个像这样的json对象数组 -
var resultsArr = [
{
"upvotes": "45",
"postID": "4555",
"numberOfComments": "45",
"shares":"22"
},
{
"upvotes": "21",
"postID": "4665",
"numberOfComments": "20",
"shares":"24"
},
{
"upvotes": "4",
"postID": "77366",
"numberOfComments": "0",
"shares":"4"
},
{
"upvotes": "49",
"postID": "6565",
"numberOfComments": "22",
"shares":"54",
}];
我需要根据score
,upvotes
,numberOfComments
计算一个值shares
,然后将其推回到JSON字典中,以便数组中的每个对象看起来像这个 -
var resultsArr= [{
....
},
{
"upvotes": "49",
"postID": "6565",
"numberOfComments": "22",
"shares":"54",
"score":"20"
}]
我可以使用for loop
访问此数组中的json对象,但根据我的理解,它会按顺序访问每个元素。
鉴于我将在阵列中拥有大约100-200个项目,如何加快分数计算过程以并行访问每个元素,从而减少计算数组中每个元素的分数所需的时间? / p>
P.S我正在对此进行编码,假设数组中的元素将来可能会增长到300-400个元素。
答案 0 :(得分:1)
如何加快分数计算过程以平行访问每个元素,从而减少计算数组中每个元素的分数所需的时间?
你不能(合理地)。 NodeJS只运行一个线程。要获得多个执行线程,您必须生成一个子进程,这比在一个线程上执行它更慢 lot 。
300-400元素什么都不是(甚至3-4 百万什么都不是; 3M在我的机器上花了大约289ms,4M花了384ms)。不需要让事情复杂化。只是:
resultsArr.forEach(function(entry) {
// update `entry` here
});
答案 1 :(得分:0)
我通常使用这段代码
window_size