Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我正在为数组分配一个元素,但它显示未定义 var-prev=[]; var计数=0; var数据=“”; $('#添加_ref')。单击(函数(){ var man_val=$.trim($('#manual_ref').val()); 如果($.inArray(man_val,prev))=-1){ 如果(男人!=''){ 计数+=1; prev[1]=人; 警报(prev[i);//问题在这里 数据=“x'+man_val+”; $('ul-rtl-ref-1')。附加(数据); } } } );_Javascript_Jquery - Fatal编程技术网

Javascript 我正在为数组分配一个元素,但它显示未定义 var-prev=[]; var计数=0; var数据=“”; $('#添加_ref')。单击(函数(){ var man_val=$.trim($('#manual_ref').val()); 如果($.inArray(man_val,prev))=-1){ 如果(男人!=''){ 计数+=1; prev[1]=人; 警报(prev[i);//问题在这里 数据=“x'+man_val+”; $('ul-rtl-ref-1')。附加(数据); } } } );

Javascript 我正在为数组分配一个元素,但它显示未定义 var-prev=[]; var计数=0; var数据=“”; $('#添加_ref')。单击(函数(){ var man_val=$.trim($('#manual_ref').val()); 如果($.inArray(man_val,prev))=-1){ 如果(男人!=''){ 计数+=1; prev[1]=人; 警报(prev[i);//问题在这里 数据=“x'+man_val+”; $('ul-rtl-ref-1')。附加(数据); } } } );,javascript,jquery,Javascript,Jquery,为什么不给数组赋值? 如果我写prev[1]=“myvalue”它也不工作。警报总是显示未定义 编辑上推(manu val)显示推送不是一种功能使用 通过追加给定元素并返回数组的新长度来变异数组 编辑:您更改了代码,因此不再有i,因此下面的部分答案不再适用。但您所说的代码在两个方面都不可信: 您说过prev[1]=man_val;之后是alert(prev[1]);显示未定义的,但您显示的代码并非如此 您说过,prev.push会导致一个错误,即push不是一个函数,但在您显示的代码中,pre

为什么不给数组赋值? 如果我写
prev[1]=“myvalue”
它也不工作。警报总是显示未定义 编辑上推(manu val)显示推送不是一种功能

使用

通过追加给定元素并返回数组的新长度来变异数组


编辑:您更改了代码,因此不再有
i
,因此下面的部分答案不再适用。但您所说的代码在两个方面都不可信:

  • 您说过
    prev[1]=man_val;
    之后是
    alert(prev[1]);
    显示
    未定义的
    ,但您显示的代码并非如此

  • 您说过,
    prev.push
    会导致一个错误,即
    push
    不是一个函数,但在您显示的代码中,
    prev
    肯定是一个数组,数组肯定有
    push

  • 我的猜测是,你有一些你没有展示的东西,要么是隐藏
    prev
    ,要么是给它分配一个非数组。但是,由于你没有展示代码,你对代码的描述与代码并不一致

    希望下面的内容对您的实际情况有一定的帮助


    count+=1;

    prev[1]=man\u val;

    alert(prev[i]);//问题就在这里

    您在那里使用的是
    i
    ,而在上面的一行中您使用的是
    1
    。您没有显示任何代码声明或初始化
    i
    ,因此我们不知道它可能有什么值,但显然它没有值
    1

    如果您真的想推送到数组,通常的做法是使用
    push
    或分配到
    prev[prev.length]
    。因此您可以使用以下代码:

    count += 1;
    prev.push(man_val);
    console.log(prev);
    ...
    

    但是如果您确实有一个
    i
    (并且您必须在某个地方,或者试图从中读取一个值,这样会导致
    引用错误
    ),并且您希望使用它,那么您需要与您使用它的方式保持一致。例如:

    prev[prev.length] = man_val;  // This will increment `prev.length`
    alert(prev[prev.length - 1]); // ...which is why we're using -1 here
    

    我假设
    I
    从那里的
    0
    开始。

    我在代码中看不到变量
    I
    。它应该是-

    prev[i++] = man_val;
    alert(prev[i - 1]);
    
    我找到了答案 我将变量prev更改为prv,并将
    警报(prev[I]
    )更改为
    警报(prv[count])
    我认为javascript问题存在于全局变量中。 我的最终代码是

    prev[count] = man_val;
    alert(prev[count]);
    
    var-prv=[]
    var计数=0;
    var数据=“”;
    $('#添加_ref')。单击(函数(){
    var man_val=$.trim($('#manual_ref').val());
    如果($.inArray(man_val,prv))=-1){
    如果(男人!=''){
    计数+=1;
    prv[计数]=人工值;
    警报(prv[计数]);
    数据=“
  • x'+man_val+”
  • ; $('ul-rtl-ref-1')。附加(数据); } } } );

    它工作得很好

    什么是
    i
    ?它在任何地方都没有定义。很抱歉,在我的代码中我不在这里,这是一个错误“编辑上一次推送(manu val)显示推送不是一个函数”你引用的代码不是这样的。在你介绍的代码中,
    prev
    显然是一个数组,数组有
    push
    。所以你没有引用你正在测试的实际代码(第二次,第一次是整个
    i
    的东西)。谢谢兄弟,好的,我把代码改成了原版。但是如果没有我的变量,它也不起作用。Thankspush还显示push不是一个函数。@Farhad:你引用的代码不是。在你引用的代码中,
    prev
    很明显是一个数组,数组有
    push
    。push不是一个函数。这怎么可能……请不要“别告诉我你的javascript被禁用了..哈哈哈..:):):…因为你已经在那里声明了一个数组..而且它应该有一个推送方法..是的,我没有初始化。这里输入的是错误的。如果我写
    警报(prev[1])
    它也显示未定义。@Farhad:与您在问题中显示的代码不同,它不显示。请参阅答案中的更新。+1因为即使我对您的第二点也很确定……如果我将代码
    var prev=[];
    放入
    $(“#添加_ref”)。单击(函数()
    此函数有效。全局数组在我的代码中不起作用。@Farhad:正如我所说,您似乎正在对其进行阴影处理或为其分配其他内容。
    prev[i++] = man_val;
    alert(prev[i - 1]);
    
    prev[count] = man_val;
    alert(prev[count]);
    
    var prv = []
    var count = 0;
    var data = '';
    $('#add_ref').click(function(){
    
    var man_val = $.trim($('#manual_ref').val());
    if(($.inArray(man_val,prv))==-1){
    
        if(man_val != ''){
            count += 1;
            prv[count] = man_val;
            alert(prv[count]);
            data = '<li id="45" class="as-selection-item"><a class="as-close">x</a> '+ man_val +'   <input id="notal_45" class="cls-notal" type="checkbox" value="45" name="notal_chk[]"></li>';
            $('#ul-rtl-ref-1').append(data);
        }
    }
    }
    );