要在数组中找到和替换的最后一个值

时间:2016-12-01 05:56:20

标签: javascript jquery arrays

如果我有这个特殊情况怎么办: 我的数组主体:[1,2,3,4,1,2,5,1,2,3,4,5] 我可以在这种情况下为其指定大小的其他数组宏(3):['', '', '']

所以现在我需要按照从主到宏的顺序插入值:

示例:

第一次数组宏为空但我必须按此顺序填充此数组。 macro : [1, 2 ,3]principal: [4,1,2,5,1,2,3,4,5]但是现在当数组宏已满时,我需要从宏中替换一个值,但这个值必须是最后一个出现在主数组中的值。

让我试着解释一下:我在宏1,2和3中有3个值。 所以

如果我得到value = 1我将检查主阵列 - > [ 4, **1**我找到了1,但他不是最后一个。

现在value = 2 -> [4, 1 ,**2**我找到了2但不是最后一个 并使用value = 3 -> [4, 1, 2 , 5 ,1 ,2 , **3**,现在我们得到了最后一个值

在这种情况下,最后一个值将是...... 3 ,我必须用principal的第一个值替换3,我的新宏数组将是:[1,2,4]

这个问题的条件:如果我发现宏与委托之间的值相等,我需要避开他并继续下一个值

macro -> 1,2,4     principal [1,2,5,1,2,3,4,5]`

我需要避免使用1,2来自本人,并从5继续。

macro -> 1,2,4     principal [5,1,2,3,4,5]` 

最后一个将是4所以我将替换宏中的4:[1,2,5]

我试图做的一段代码......

function resolution()
{
    for(var i = 0; i < marcos.length; i++)
    {
        if(macro[i] == principal[i])
        {
            var exists = principal.indexOf(principal[i]);
        }

        if(array.length > 0)
        {
           //for i < array.length
            macro.splice(array[i] , 1 , cadena[i])
        }
        else
        {
            macro.splice(i, 1, cadena[i]);
        }
    }

    console.log(macro)
    principal.splice(0, macro.length);
}

对于这个问题,我将不胜感激。

0 个答案:

没有答案