Javascript 创建二维数组并在jquery中循环遍历它
目标:Javascript 创建二维数组并在jquery中循环遍历它,javascript,jquery,arrays,Javascript,Jquery,Arrays,目标: 在javascript/jquery中创建二维数组 将数据推入其中 循环遍历每个键、值对 循环中的调用函数 代码: 使用对象 插入 var IDs = {}; $('#divDynamicFields').find("input").each(function () { IDs[this.id]= $(this).val(); }); 同样的循环 $.each(IDs , function (index, value) { alert( index + '
var IDs = {};
$('#divDynamicFields').find("input").each(function () {
IDs[this.id]= $(this).val();
});
同样的循环
$.each(IDs , function (index, value) {
alert( index + ' : ' + value );
});
推送语法和迭代错误。你应该这样做:
varids=[];
id.push([1,2]);
id.push([2,3]);
/*循环遍历二维数组中的每个元素*/
$。每个(ID、函数(键、值){
警报(值);
});代码>
整体思路是将数组推到由两个元素组成的数组,而不是两个元素:
varids=[];
$('#divDynamicFields input')。每个(函数()
{
id.push([this.id,$(this.val()]);
});
对于(变量i=0;i
您有几个问题
第一个是必须将输入作为数组添加
IDs.push([this.id, $(this).val()]);
第二个问题是,您希望调用刚刚添加在一起的ID,而不希望执行双循环
$.each(IDs, function(key, value) {
CallFunction(value[0],value[1]);
});
这是一个例子:
var IDs = [];
/* Find Input elements and push its ID & Value into an array */
$('#divDynamicFields').find("input").each(function () {
IDs.push([this.id, $(this).val()]);
});
console.log(IDs); /* Now it prints string seprated by ',' */
/* Loop Through Each element in 2D array */
$.each(IDs, function(key, value) {
CallFunction(value[0],value[1]);
});
function CallFunction(id,val) {
console.log(id+","+val);
}
varids=[];
id.push([1,2]);
id.push([2,3]);
/*循环遍历二维数组中的每个元素*/
$。每个(ID、函数(键、值){
警报(值);
});代码>
创建二维数组
MultiArray = new Array(5)
MultiArray [0] = new Array(2)
MultiArray [0][0] = "Tom"
MultiArray [0][1] = "scientist"
MultiArray [1] = new Array(2)
MultiArray [1][0] = "Beryl"
MultiArray [1][1] = "engineer"
您可以尝试使用以下方法在jquery中创建维度数组
var IDs = [];
$('#divDynamicFields').find("input").each(function () {
IDs.push({
id: $(this).val()
});
});
console.log(IDs);
这将允许您通过ajax在数组中发送所有您想要传递的数据。我在一维数组中看不到二维。所以我猜答案是否定的,这行不通。@Spokey我想创建一个2d数组,其中包含id,value
作为pairtain查看一下。@Regent将其作为答案发布:)@Shaggy ok,因为它看起来很适合你:)什么是新闻
和obj
obj[this.id]
-应该是obj[this.id]
,不是吗$(“#divDynamicFields”)。使用“$”(“#divDynamicFields input”)
@Regent查找(“输入”)
会更好一些,它的键入错误bro,逻辑很重要。感谢正确的答案。是否有评论?答案是正确的吗?一个人可以理解打字错误,obj.[this.id]
to=>IDs.[this.id]
这很难吗?很难纠正答案中的所有打字错误和错误吗?答案应该是答案,而不是“查找并修复其中的所有错误和打字错误”。我不会对答案投反对票,因为我总是希望人们会纠正它们。我的回答是“复仇”很奇怪,你不这么认为吗?再说一次:它必须是IDs[this.id]
,而不是IDs。[this.id]
。如果答案正确,您可以执行+1。现在它是正确的,对未来的用户有好处。
MultiArray = new Array(5)
MultiArray [0] = new Array(2)
MultiArray [0][0] = "Tom"
MultiArray [0][1] = "scientist"
MultiArray [1] = new Array(2)
MultiArray [1][0] = "Beryl"
MultiArray [1][1] = "engineer"
var IDs = [];
$('#divDynamicFields').find("input").each(function () {
IDs.push({
id: $(this).val()
});
});
console.log(IDs);