我想在javascript中创建动态税种,我使用了以下代码:
Public ReadOnly Property Foo(Optional ByVal MyShort As Short = -1, Optional ByVal MyBool As Boolean = True) As String
Get
'logic
return Bar
End Get
End Property
现在我想迭代那些ID数组来创建表。但是.length& .size()不能处理ID数组。当我在控制台中看到数组的结果时,它显示如下
无法获得如何将该数组用于$ .each。
我使用以下代码解决了它:
$("table").on("focusout",".tax_amount",function(e){
var IDs = new Array();
$('.tax_amount').each(function(){
k = this.id;
if(typeof IDs[k] === 'undefined') {
IDs[k] = parseFloat(this.value);
}else{
IDs[k]+= parseFloat(this.value);
}
});
console.log(IDs);
});
非常感谢Quentin指导正确的方向。
答案 0 :(得分:8)
size()
不起作用,因为Array对象没有size方法。
length
不起作用,因为:
length属性表示无符号的32位整数,它始终在数值上大于数组中的最高索引。
您尚未在数组中放置任何索引。
您已添加命名属性。
$.each
不起作用,因为当给定一个数组时,它会迭代索引,而你又没有给它任何数据。
如果要使用命名属性,请使用对象,而不是数组。数组是为数字索引和有序数据而设计的。
答案 1 :(得分:0)
我希望你的要求是这个
$("table").on("focusout",".tax_amount",function(e){
var IDs = new Array();
$('.tax_amount').each(function(){
k = this.id;
if(typeof k === 'undefined') {
IDs.push(parseFloat(this.value));
}else{
k += parseFloat(this.value);
IDs.push(k);
}
});
console.log(IDs);
});
答案 2 :(得分:0)
使用var arr = new Array();
then arr.push(itemValue);
输入任意数量的元素
用于迭代数组和访问值,
arr.forEach(myFunction);
function myFunction(item, index) {
console.log(item);
console.log(index);
}