JS的数组操作

JS中的数组提供了四个操作,以便让我们实现队列与堆栈!

小理论:

队列:先进先出

堆栈:后进先出

实现队列的方法:

1,shift: 从集合中把第一个元素删除,并返回这个被删除的元素的值。(此方法改变数组的长度) <body><p id="demo">单击按钮删除数组的第一个元素。</p>

<p id="demo2"></p>
<button onclick="myFunction()">点我</button>
<script>
var fruits = ["Banana", "Orange", "Apple", "Mango"];
function myFunction(){
    var delell = fruits.shift();
    var x=document.getElementById("demo");
    x.innerHTML= '删除后数组为:' +  fruits;
    document.getElementById("demo2").innerHTML= '删除的元素是:' +  delell;
}
</script>

</body>

//运行结果:

删除后数组为:Orange,Apple,Mango

删除的元素是:Banana

2,pop:从集合中把最后一个元素删除,并返回这个元素的值。

3,unshift: 在集合开头添加一个或更多元素,并返回新的长度。

       注意: 该方法将改变数组的数目。

       提示: 将新项添加到数组末尾,请使用 push() 方法。

将新项添加到数组起始位置:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon","Pineapple");
fruits 将输出: Lemon,Pineapple,Banana,Orange,Apple,Mango

4,push:在集合中添加元素,并返回新的长度

语法://array.push(item1, item2, ..., itemX)

5,slice:

slice() 方法可从已有的数组中返回选定的元素。

slice()方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

注意: slice() 方法不会改变原始数组。

数组的运用:

“实现一个函数输入123456789,输出123,456,789//这是我按照当时的思路,重新完善了一下能实现的版本。当时太紧张了了=。=,并不能保证那个代码一定跑起来了
function cal(str) {
    var target = '',
    arrStore = []
    target = typeof str === 'number' ? str.toString() : str
    target = target.split('').reverse()
    for(var i = 0; i < target.length; i++) {
        arrStore.unshift(target[i])
        if((i + 1) % 3 === 0) {
           if(i+1 !== target.length) arrStore.unshift(',')   
        }
    }
  return arrStore.join('')
}
cal(123456789) //"123,456,789"

 

posted @ 2017-08-09 11:38  千寻的天空之城  阅读(182)  评论(0编辑  收藏  举报