JavaScript 编程题

刷題

1. 查找数组中元素的位置并返回下标

 String 对象方法 indexOf()

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

如果没有找到匹配的字符串则返回 -1。

注意: indexOf() 方法区分大小写。
在这里插入图片描述

2.数组求和
在这里插入图片描述
3.移除数组中的元素,不直接改原数组,返回新数组
在这里插入图片描述

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

4.移除数组中的元素,直接在原数组上操作。数组splice()方法。

splice() 方法用于添加或删除数组中的元素。

注意:这种方法会改变原始数组。
在这里插入图片描述

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

arr[i]==item,就将i作为第一个参数,1作为第二个参数(只删除一个元素)传给splice方法。需要注意的是,splice方***改变数组的长度,因此在每次删除之后,都需要执行i–以确保数组长度正确。
在这里插入图片描述
如果仅删除一个元素,则返回一个元素的数组。 如果未删除任何元素,则返回空数组。
5.给数组添加元素,不改变原数组,返回新数组。数组concat()方法

定义和用法

concat() 方法用于连接两个或多个数组。

该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
在这里插入图片描述
方法二 拷贝 push()

定义和用法

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

注意: 新元素将添加在数组的末尾。

注意: 此方法改变数组的长度
在这里插入图片描述

function append(arr, item) {
    //普通的迭代拷贝
    var length = arr.length;
    var newArr = [];//定义新的数组
    for(var i=0; i<arr.length;i++){ //遍历原数组,
        newArr.push(arr[i]);//用push把原数组拷贝到新数组中
    }
       newArr.push(item);//再把新填的item拷贝进来
        return newArr;//返回这个新的数组
};

方法三 slice()+push() 浅拷贝

定义和用法

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

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

注意: slice() 方法不会改变原始数组。
在这里插入图片描述

function append(arr, item) {
  var newArr =arr.slice(0);
   //slice(start,end)浅拷贝数组
    newArr.push(item);
    return newArr;
};

题目要求不改变原数组,可以使用arr.slice(0)复制一个数组赋值给newArr。给数组添加元素可使用push方法。

6 删除数组的元素,返回新数组,slice()拷贝

在这里插入图片描述

function truncate(arr) {
    var newArr = arr.slice(0,arr.length-1);
    //用slice()拷贝原数组的第零个到倒数第二个元素赋值给newArr
    return newArr;
}

如果是负数,那么它规定从数组尾部开始算起的位置。如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取,slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。
slice(-2,-1) 表示抽取了原数组中的倒数第二个元素到最后一个元素(不包含最后一个元素,也就是只有倒数第二个元素)

方法二 slice()+pop()

定义和用法

pop() 方法用于删除数组的最后一个元素并返回删除的元素。

注意:此方法改变数组的长度!

提示: 移除数组第一个元素,请使用 shift() 方法。
在这里插入图片描述

function truncate(arr) {
   var newArr = arr.slice(0);
   //用slice()拷贝原数组
   newArr.pop();
   //使用pop方法可以删除数组的最后一个元素
   return newArr;
}

实例

const sites = ['Google', 'Runoob', 'Taobao', 'Zhihu', 'Baidu'];

console.log(sites.pop());
// 输出结果为: "Baidu"

console.log(sites);
// 输出结果为: ['Google', 'Runoob', 'Taobao', 'Zhihu']

sites.pop();

console.log(sites);
//  输出结果为: ["Google", "Runoob", "Taobao"]

7.头部添加元素 slice()+unshift()

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

注意: 该方法将改变数组的数目。
在这里插入图片描述

function prepend(arr, item) {
    var newArr = arr.slice(0);
    //slice()拷贝原数组
    newArr.unshift(item);
    return newArr;
}

方法二 concat()连接两个数组
在这里插入图片描述
合并两个数组

该示例使用 apply() 添加第二个数组的所有元素。

注意当第二个数组(如示例中的moreVegs)太大时不要使用这个方法来合并数组,因为事实上一个函数能够接受的参数个数是有限制的。具体可以参考 apply()

var vegetables = ['parsnip', 'potato'];
var moreVegs = ['celery', 'beetroot'];

// 将第二个数组融合进第一个数组
// 相当于 vegetables.push('celery', 'beetroot');
Array.prototype.push.apply(vegetables, moreVegs);

console.log(vegetables);
// ['parsnip', 'potato', 'celery', 'beetroot']

方法三 [].push.apply()合并两个数组推进原数组

在这里插入图片描述
方法三 slice()+unshift()
在这里插入图片描述
方法四 join()+split()

定义和用法

join() 方法用于把数组中的所有元素转换一个字符串。

元素是通过指定的分隔符进行分隔的。

array.join(separator)

separator可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
在这里插入图片描述
定义和用法

split() 方法用于把一个字符串分割成字符串数组。

提示: 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

注意: split() 方法不改变原始字符串。

string.split(separator,limit)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
8删除数组第一个元素,返回新数组shift()

定义和用法

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

注意: 此方法改变数

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值