Javascript 如何消除阵列中的重复?(不转换为唯一,但删除下一个值)PHP

Javascript 如何消除阵列中的重复?(不转换为唯一,但删除下一个值)PHP,javascript,php,jquery,arrays,duplicate-data,Javascript,Php,Jquery,Arrays,Duplicate Data,我会尽量说得非常具体。听着,我有一个发送数组的输入: echo "<input type='hidden' name='valortot[]' class='valor$rowid' disabled>"; 我的问题是,当我发送要复制的数组时,可能存在重复项,例如具有相同值的两个iten,但不存在如下值的副本: Array ( [0] => 2.44 [1] => 2.44 [2] => 3.7 [3] => 32.92 [4] => 32.92

我会尽量说得非常具体。听着,我有一个发送数组的输入:

echo "<input type='hidden' name='valortot[]'  class='valor$rowid' disabled>";

我的问题是,当我发送要复制的数组时,可能存在重复项,例如具有相同值的两个iten,但不存在如下值的副本:

Array ( [0] => 2.44 [1] => 2.44 [2] => 3.7 [3] => 32.92 [4] => 32.92 )
奇怪的是,2.44和32.92是复制的,但不是3.7,我怎么能跳过克隆

编辑:

哦,我错了,我同时启用了3,而我应该只启用1。但还是要谢谢你们。

你们检查过:


因为您使用的是Javascript,所以始终可以使用.indexOf(value)

for(var i=1;i
现在,您不需要else语句,但它可以为您提供想法。另外,从1开始循环,这样如果数组位于元素0(也称为空),if就不会麻烦检查重复的结果

祝你好运

编辑-错误的逻辑

 <script type="text/javascript">

             function calcval(valor,valortot){

                var valortot = valortot;
                var rowid = valor;
                var calcval = document.getElementsByClassName("valor"+rowid);

                for(var i = 0; i < calcval.length; i++) {
                    calcval[i].value=valortot;
                    calcval[i].disabled = false;
                }


             }
Array ( [0] => 2.44 [1] => 2.44 [2] => 3.7 [3] => 32.92 [4] => 32.92 )
<?php
    $input = array("a" => "green", "red", "b" => "green", "blue", "red");
    $result = array_unique($input);
    print_r($result);
?>
Array
(
    [a] => green
    [0] => red
    [1] => blue
)
for(var i = 1; i < array.length(); i++){
    if(array.indexOf(value) == -1) {
        array.push(value);
    } else {
        // Do nothing
    }
}