JavaScript的。点击时交换数组元素

时间:2017-04-25 10:32:25

标签: javascript

我git这个项目列表和一个数组来容纳其中的4个。单击一个项目时,我希望它被推送到数组,但数组的长度绝不应多于或少于4。因此,当点击其中一个LI时,我想将该项目推送到数组中。当数组已满(当长度为4)时,我希望将数组中的第一个元素换成下一个被点击的项目。

我的标记看起来与此类似:

        <ul>
            <li>val 1</li>
            <li>val 2</li>
            <li>val 3</li>
            <li>val 4</li>
            <li>val 5</li>
            <li>val 6</li>
            <li>val 7</li>
            <li>val 8</li>
            <li>val 9</li>
        </ul>

1 个答案:

答案 0 :(得分:0)

var ar=[];
function clickFunc(e){
    if(ar.length<4){
     ar.push(e.innerHTML);
    }
    else{
     ar.unshift(e.innerHTML);
     ar.pop();
    }
console.log(ar)
}
<ul>
            <li onclick="clickFunc(this)">val 1</li>
            <li onclick="clickFunc(this)">val 2</li>
            <li onclick="clickFunc(this)">val 3</li>
            <li onclick="clickFunc(this)">val 4</li>
            <li onclick="clickFunc(this)">val 5</li>
            <li onclick="clickFunc(this)">val 6</li>
            <li onclick="clickFunc(this)">val 7</li>
            <li onclick="clickFunc(this)">val 8</li>
            <li onclick="clickFunc(this)">val 9</li>
</ul>

你可以unhift(),然后是pop()数组。