JavaScript数组练习

本文介绍了JavaScript中用于数组操作的一系列实用函数,包括查找元素位置、求和、删除元素、添加元素、删除首尾元素、合并数组、插入元素、计数、查找重复元素、求二次方、查找所有出现位置等,提供了丰富的数组处理能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

找出元素 item 在给定数组 arr 中的位置

function indexOf(arr, item) {
    for(var i = 0;i < arr.length;i ++){
        if(arr[i] == item) return i;
    }
    return -1;
}

计算给定数组 arr 中所有元素的总和

function sum(arr) {
    var sum = 0;
    for(var i = 0;i < arr.length;i ++){
        sum += arr[i];
    }
    return sum;
}

移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组

function remove(arr, item) {
    var newArr = new Array();
    for(var i = 0;i < arr.length;i ++){
        if(arr[i] != item) newArr.push(arr[i]);
    }
    return newArr;
}

在数组 arr 末尾添加元素 item。不要直接修改数组 arr,结果返回新的数组

function append(arr, item) {
    var newArr = new Array(arr.length + 1);
    for(var i = 0;i < arr.length;i ++){
        newArr[i] = arr[i];
    }
    newArr[arr.length] = item;
    return newArr;
}

删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组

function truncate(arr) {
    var newArr = new Array(arr.length - 1);
    for(var i = 0;i < arr.length - 1;i ++){
        newArr[i] = arr[i];
    }
    return newArr;
}

在数组 arr 开头添加元素 item。不要直接修改数组 arr,结果返回新的数组

function prepend(arr, item) {
    var newArr = new Array(arr.length + 1);
    newArr[0] = item;
    for(var i = 0;i < arr.length;i ++){
        newArr[i + 1] = arr[i];
    }
    return newArr;
}

删除数组 arr 第一个元素。不要直接修改数组 arr,结果返回新的数组

function curtail(arr) {
    var newArr = new Array(arr.length - 1);
    for(var i = 1;i < arr.length;i ++){
        newArr[i - 1] = arr[i];
    }
    return newArr;
}

删除数组 arr 第一个元素。不要直接修改数组 arr,结果返回新的数组

function curtail(arr) {
    var newArr = new Array(arr.length - 1);
    for(var i = 1;i < arr.length;i ++){
        newArr[i - 1] = arr[i];
    }
    return newArr;
}

合并数组 arr1 和数组 arr2。不要直接修改数组 arr,结果返回新的数组

function concat(arr1, arr2) {
    var newArr = new Array(arr1.length + arr2.length);
    for(var i = 0;i < newArr.length;i ++){
        if(i < arr1.length){
            newArr[i] = arr1[i];
        }
        else{
            newArr[i] = arr2[i - arr1.length];
        }
    }
    return newArr;
}

在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组

function insert(arr, item, index) {
    var newArr = new Array(arr.length + 1);
    for(var i = 0,j = 0;i < newArr.length;i ++){
        if(i == index){
            newArr[i] = item;
        }
        else{
            newArr[i] = arr[j];
            j ++;
        }
    }
    return newArr;
}

统计数组 arr 中值等于 item 的元素出现的次数

function count(arr, item) {
    var count = 0;
    for(var i = 0;i < arr.length;i ++){
        if(arr[i] == item) count ++;
    }
    return count;
}

找出数组 arr 中重复出现过的元素

function duplicates(arr) {
    var newArr = [];
    for(var i = 0;i < arr.length;i ++){
        if(arr.indexOf(arr[i]) != arr.lastIndexOf(arr[i]) && newArr.indexOf(arr[i]) == -1){
            newArr.push(arr[i]);
        }
    }
    return newArr;
} 

为数组 arr 中的每个元素求二次方。不要直接修改数组 arr,结果返回新的数组

function square(arr) {
    var newArr = new Array();
    for(var i = 0;i < arr.length;i ++){
        newArr.push(arr[i] * arr[i]);
    }
    return newArr;
}

在数组 arr 中,查找值与 item 相等的元素出现的位置

function findAllOccurrences(arr, target) {
    var newArr = new Array();
    for(var i = 0;i < arr.length;i ++){
        if(arr[i] == target){
            newArr.push(i);
        }
    }
    return newArr;
}

给定的 js 代码中存在全局变量,请修复

function globals() {
//var 后为局部变量
    var myObject = {
      name : 'Jory'
    };

    return myObject;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值