0

你好我想在javascript中创建一个数组

var sortValues = array(
                 2 => array(3,4,5),
                 3 => array(5,6,7), 
                 12 => array (7,4,5) 
                 );

现在我正在遍历表单的所有文本框。每个文本框都有类似的 id2_3表示 2 将是数组的主索引。

我的 html 标记看起来像

<input type="text" value="3" id="2_5" name="2_5">
<input type="text" value="4" id="2_5" name="2_6">
<input type="text" value="5" id="2_5" name="2_7">
<input type="text" value="5" id="3_1" name="3_1">
<input type="text" value="6" id="3_2" name="3_2">
..................................

现在我想检查 2 是否存在于数组中sortValues,我将获取文本框的值,并将检查该值是否存在于数组中以 2 为依据,然后如果值不存在,我将发出警报该值已经存在压入子数组中的值。意味着我需要将 3 放在 2 中,我将检查 3 是否存在于 2 中,如果是,则将警报放入数组中。

如果 2(主索引)不存在,则在数组中创建一个新索引,依此类推。到目前为止我已经尝试过

var sortvalues = new Array();
$(":text").each(function () {
    if($(this).val() != '') {
        id = $(this).attr('id');
        ids = id.split("_");
        parent = ids[0];
        child = ids[1];
        if(typeof sortvalues[parent] !== 'undefined') {
            if(typeof sortvalues[parent][$(this).val()] !== 'undefined') {
                alert("Value already exists");
            } else {
                sortvalues[parent][] = $(this).val();
            }
        } else {
            sortvalues.push(parent);
        }
    }
});
console.log(sortValues);

哪个给出["2", "2", "2"]哪个是错误的。任何人都可以指导我如何在上述标准中实现上述数组??/

4

1 回答 1

0

你的意思是在另一个数组中创建一个数组吗?

例如 :

var sortValues = new Array();
sortValues[2] = Array(3,4,5);

请澄清你的问题。以及以下内容:

sortvalues[parent][] = $(this).val()  --> you can't leave empty for the second array.
于 2013-03-12T07:58:43.270 回答