JavaScript 数组

149 阅读1分钟

1. join( )

数组内的所有元素通过一个字符串进行连接。
join()里面没有传任何参数,默认以逗号连接。

<script>
    let arr = [1,2,3,4,5]
    let newstr = arr.join('+');
    console.log(newstr);
    /* 结果显示:1+2+3+4+5 */
 </script>

2. sort()

sort()会把老数组和新产生的数组都从小到大排序。
如果数组元素数据类型是字符串类型,会将其转成数字类型进行排序(隐式数据类型转换)。

<script>
    let arr = ['2', '3', '1', '5', '0'];
    let newarr = arr.sort();
    console.log(newarr);
 </script>

⭐ sort( ) 对应多位数排序,会出现问题:按照首位数字大小排序。
       此时,需要:

<script>
    let arr = [2,22,3,32,1,12,100];
    arr.sort(function(a,b){
         return a-b;
    })
    console.log(arr);
    /* 从小到大的顺序 return a-b;
       从大到小的顺序 return b-a; */
 </script>

3. concat() 或 ...arr

合并数组。

<script>
    let arr1 = ['ann', '12', 'female'];
    let arr2 = ['david', '10', 'male'];
    let arr3 = ['leo', '30', 'male'];
    let newarr1 = arr1.concat(arr2).concat(arr3);
    let newarr2 = [...arr1, ...arr2, ...arr3];
    console.log(newarr1);
    console.log(newarr2);
   /* 结果显示:['ann', '12', 'female', 'david', '10', 'male', 'leo', '30', 'male'] */ 
</script>

4. splice()

splice( )可以对数组进行增删改。
splice( )里面有3个参数:
第1个参数:你要操作的数组元素的索引
第2个参数:从你选择的索引开始要删除的个数
第3个参数:你要添加的数组元素

<script>
    let arr = ['leo','lily','rick'];
    arr.splice(1,1)
    console.log(arr); 
    /* 删除'lily',结果显示: ['leo','rick'] */ 
 </script>
 <script>
    let arr = ['leo','lily','rick'];
    arr.splice(1,1,'judy')
    console.log(arr); 
    /* 将'lily'变更为'judy',结果显示: ['leo','judy','rick'] */ 
 </script>
 <script>
    let arr = ['leo','lily','rick'];
    arr.splice(1,0,'judy')
    console.log(arr); 
    /* 将'judy'放在索引为1的位置上,结果显示: ['leo', 'judy', 'lily', 'rick'] */ 
 </script>
 <script>
    let arr = ['leo','lily','rick'];
    arr.splice(arr.length,0,'judy')
    console.log(arr); 
    /* 将'judy'放在数组末尾,结果显示: ['leo', 'lily', 'rick', 'judy'] */ 
 </script>

5. unshift() shift() push() pop()

    <button onclick="fn1()">开头添加</button>
    <button onclick="fn2()">开头删除</button>
    <button onclick="fn3()">末尾添加</button>
    <button onclick="fn4()">末尾删除</button>
    <script>
        let arr = ['ann', '12', 'female'];
        function fn1() {
            arr.unshift('beijing') /* 开头添加 */
            alert(arr)
        }
        function fn2() {
            arr.shift() /* 删除第一个元素 */
            alert(arr)
        }
        function fn3() {
            arr.push('paris') /* 末尾添加 */
            alert(arr)
        }
        function fn4() {
            arr.pop() /* 删除最后一个元素 */
            alert(arr)
        }
     </script>