gpt4 book ai didi

javascript - MongoDB javascript 查询

转载 作者:可可西里 更新时间:2023-11-01 09:35:34 25 4
gpt4 key购买 nike

我正在使用 javascript 文件查询 mongo 数据库。我有一个 for 循环,我正在使用 myArray.push(value) 添加到 myArray。

我的问题是,当我在 Robomongo 中运行脚本时,我得到 2 个输出——数组的长度(我不想要)和打印语句(我想要)。

有没有办法阻止脚本输出数组的长度——除了 .push 之外,还有其他我应该使用的函数吗???

这是一些脚本:

var myArray = [];
var result = jobData['result'];

for(var i = 0; i < result.length; i++){
var collection = result[i].Tolerances;
for(var j = 0; j < collection.length; j++){
var cur = collection[j];
myArray.push(cur); // I do not want this value outputted
}
}
for(var x = 0; x < myArray.length; x++){
var value = myArray[x];
print("Currency From: "+value.FromCurrency+";Currency To: "+value.ToCurrency+";Tolerance: "+value.TolerancePercentage+");
};

如果需要更多详细信息,请告诉我。

最佳答案

您可以使用 JavaScript 的 reduce()map() 方法来构造新数组,而无需记录新数组的长度。以下示例演示了如何在您的案例中使用这两种方法:

var jobData = {
result: [
{ Tolerances: ["foo", "bar"] },
{ Tolerances: ["abc", "def"] },
{ Tolerances: ["123", "456"] }
]
};
var myArray = [];
var result = jobData['result'];

var tolerances = result.map(function (r){
return r.Tolerances;
});

myArray = tolerances.reduce(function (a, b){
return a.concat(b);
});

printjson(myArray);
// prints ["foo","bar","abc","def","123","456"]

查看下面的演示。

var jobData = {
result: [
{ Tolerances: ["foo", "bar"] },
{ Tolerances: ["abc", "def"] },
{ Tolerances: ["123", "456"] }
]
}
var myArray = [];
var result = jobData['result'];


var tolerances = result.map(function (r){
return r.Tolerances;
})

myArray = tolerances.reduce(function (a, b){
return a.concat(b);
})

pre.innerHTML = "myArray: " + JSON.stringify(myArray, null, 4);
<pre id="pre"></pre>

关于javascript - MongoDB javascript 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33756686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com