我需要使用其功能访问数组元素。
例如,我有阵列A [],现在我想创建阵列B,例如
select adp_id,
SUM(CASE WHEN coctr_L3 = '99990001594' THEN total ELSE 0.0 END)as bl_total,
SUM(total) as bank_total
from dbo.IQCS_AppsByCC a
where coctr_L3 = '99990001594'
and adp_id IN(19897, 15034, 17381, 13840 )
group by adp_id
HAVING
SUM(CASE WHEN coctr_L3 = '99990001594' THEN total ELSE 0 END)/SUM(total)*100>50
我尝试了以下代码,但我收到的错误为A[i] === B[i].value()
B[i].value is not a function
这是正确的方法吗?
答案 0 :(得分:6)
您需要指定一个对象:
B[i] = {
value: function () {
return A[i];
}
}
为避免i
范围出现任何问题,您可以使用语句 let
let语句声明一个块作用域局部变量,可选择将其初始化为一个值。
function test(A) {
var B = new Array();
for (let i = 0; i < A.length; i++) {
B[i] = {
value: function() {
return A[i];
}
};
}
for (let k = 0; k < B.length; k++) {
console.log(B[k].value());
}
return B;
}
var B = test([1, 2, 3]);
console.log(B)
.as-console-wrapper { max-height: 100% !important; top: 0; }
答案 1 :(得分:1)
你可以使价值匿名,例如B[i] = function () { /* Your code */ }
然后只需拨打B[i]()
而不是B[i].value()