听起来目标是找到每一行中只有两个数字,其中一个均分为另一个 - 也就是说,除法运算的结果是整数。他们希望你在每一行找到这些数字,除以它们,并将每一行的结果相加。
例如,给出以下电子表格:
[5,9,2,8]
[9,4,7,3]
[3,8,6,5]
在第一行中,只有两个均分的数字是8和2;这种划分的结果是4。 在第二行中,两个数字分别为9和3;结果是3。 在第三行中,结果为2。 在这个例子中,结果的总和将是4 + 3 + 2 = 9。
在下一个数组中找到均匀可分的值:
[1224,926,1380,688,845,109,118,88,1275,1306,91,796,102,1361] [1928,2097,138,1824,198,117,1532,2000,1478,539,1982]
在这种情况下如何使用for loop
或reduce
?
答案 0 :(得分:3)
只需使用filter
和modulo %
const input = [1224, 926, 1380, 688, 845, 109, 118, 88, 1275, 1306, 91, 796, 102, 1361]
const result = input.filter(val => val %2 === 0);
console.log(result);
自从我第一次看到这个以来,它看起来像是一些范围蔓延。如果你想在数组中的值之间进行可分,那么你可以这样做:
const input = [1224, 926, 1380, 688, 6, 3, 845, 109, 118, 88, 1275, 1306, 91, 796, 102, 1361]
const result = input.reduce((acc, val) => {
const divisibles = input.filter(v => val !== v && val % v === 0).map(v => val / v);
return [...acc, ...divisibles];
}, []);
console.log(result);
您现在似乎正在使用数组数组作为输入;如果是这种情况那么你将不得不进一步嵌套上面的单个数组示例 - 但它给你的想法。
答案 1 :(得分:1)
const input = [1224, 926, 1380, 688, 845, 109, 118, 88, 1275, 1306, 91, 796, 102, 1361];
for (i=0; i<input.length; i++) {
for (j = i+1; j<input.length; j++) {
if (input[i] % input[j] == 0) {
console.log(input[i] / input[j],'\n',i,input[i],'\n',j,input[j]);
}
if (input[j] % input[i] ==0) {
console.log(input[j] / input[i],'\n',i,input[i],'\n',j,input[j]);
}
}
}
答案 2 :(得分:0)
如果你试图在数组中找到偶数,你可以使用数组的// Declaring prometheus metric counters
var (
metric_prefix = "xyz_"
xyzAPICallsCounter = prometheus.NewCounterVec(
prometheus.CounterOpts{
Name: metric_prefix + "api_calls_total" ,
Help: "Number of calls to xyz endpoint",
},
[]string{
// Type of api call. Present values
"type",
// Method can be "add", "delete", "getall", "get", "create", "ensure"
"method",
// Status is success or failed
"status",
},
)
)
func initMetrics(){
prometheus.MustRegister(xyzAPICallsCounter)
http.Handle("/metrics", promhttp.Handler())
http.ListenAndServe(":8080", nil)
}
方法,我们可以在这里应用func initMetrics(){
var registry = prometheus.NewRegistry()
registry.MustRegister(
xyzAPICallsCounter,
)
http.Handle("/metrics", promhttp.HandlerFor(registry, promhttp.HandlerOpts{}))
log.Fatal(http.ListenAndServe(":8080", nil))
}
的标准CS逻辑:
filter
by Modulo
我们试图找出元素e是否可被2整除,如果是const newArr = [1224, 926, 1380, 688, 845, 109, 118, 88, 1275, 1306, 91, 796, 102, 1361].filter(e => e % 2 == 0)
console.log(newArr)
则= 0。