From 92ae5308ce36b79cc8d6a5712478a3ef8806f333 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=B5=A9=E6=95=8F?= <3127104562@qq.com> Date: Tue, 18 Oct 2022 12:00:28 +0800 Subject: [PATCH] 10-17 --- ...\344\270\216\346\225\260\347\273\204.html" | 164 +++++++++++++++++ ...62\344\270\216\346\225\260\347\273\204.md" | 170 ++++++++++++++++++ 2 files changed, 334 insertions(+) create mode 100644 "\344\275\234\344\270\232/10-17\345\255\227\347\254\246\344\270\262\344\270\216\346\225\260\347\273\204.html" create mode 100644 "\347\254\224\350\256\260/10-18 JS\345\255\227\347\254\246\344\270\262\344\270\216\346\225\260\347\273\204.md" diff --git "a/\344\275\234\344\270\232/10-17\345\255\227\347\254\246\344\270\262\344\270\216\346\225\260\347\273\204.html" "b/\344\275\234\344\270\232/10-17\345\255\227\347\254\246\344\270\262\344\270\216\346\225\260\347\273\204.html" new file mode 100644 index 0000000..2309cdc --- /dev/null +++ "b/\344\275\234\344\270\232/10-17\345\255\227\347\254\246\344\270\262\344\270\216\346\225\260\347\273\204.html" @@ -0,0 +1,164 @@ + + + + + + + Document + + + + + \ No newline at end of file diff --git "a/\347\254\224\350\256\260/10-18 JS\345\255\227\347\254\246\344\270\262\344\270\216\346\225\260\347\273\204.md" "b/\347\254\224\350\256\260/10-18 JS\345\255\227\347\254\246\344\270\262\344\270\216\346\225\260\347\273\204.md" new file mode 100644 index 0000000..87db80b --- /dev/null +++ "b/\347\254\224\350\256\260/10-18 JS\345\255\227\347\254\246\344\270\262\344\270\216\346\225\260\347\273\204.md" @@ -0,0 +1,170 @@ +# 10-18 JS字符串与数组 + +## 计算字符串的长度使用`字符串.length`的方式。 + +例如: + +```js +var txt1 = "Hello World!"; +document.write(txt1.length); // 12 +``` + +## 3.charAt() 和 charCodeAt() + +`charAt()` 和 `charCodeAt()` 均表示获取指定位置的字符。不同的是 +前者返回具体的字符,后者返回字符的 Unicode 码。 + +例如: + +```js +var str = "Hello World!"; +console.log(str.charAt(0)); // H +console.log(str.charCodeAt(0)); // 72 +``` + +**注意**: 如果向 `charCodeAt()` 方法中传入了负数或者大于等于字符串的长度,那么该方法会返回 `NaN`。 + + + +## 数组 + +```js +//获取数组长度 length + + +//concat:将两个数组合并在一起 +const firstList = [1, 2, 3] +const secondList = [4, 5, 6] +const thirdList = firstList.concat(secondList) + +//indexof:查找数组的元素,返回-1表示不存在,与之相同的查找方法还有includes,lastindexof + +//toString():将数组转成字符串 + +//join():添加指定字符后转成字符串 转成json常用 + +//slice():表示切片,参数个数:0 1 2 返回一个数组对象 + +//splice(): 接收 0 2 多 个参数 表示移除,替换元素 + + +//数组的添加元素:push unshift +//数组的删除元素: shift pop + +//reverse() :反转 +//sort() + +//forEach():数组为每个数组元素调用一次函数(回调函数)。 +//map() +//filter():匹配符合条件的元素 +//reduce(): 汇总数据,返回是一个数据 +//every():检查所有数组值是否通过测试 +``` + +### 3.7 shift + +`shift` 方法用于删除数组中的第一个元素,并返回删除的这个元素。 +语法: + +```js +arr.shift(); +``` + +### 3.8 unshift + +`unshift` 方法用于在数组的第一个位置添加元素,并返回添加元素后的数组长度。 +语法: + +```js +arr.unshift(); +var arr = ["a", "b", "c"]; +console.log(arr.unshift("100")); // 4 +console.log(arr); // ["100", "a", "b", "c"] +``` + +3.9 reverse +reverse 方法能够反序排列数组。 +语法: + +arr.reverse(); +1 +var arr = ["a", "b", "c"]; +console.log(arr.reverse()); // ["c", "b", "a"] +1 +2 +3.10 slice +slice 方法可以根据指定的 起点和终点 来对数组进行截取,并生成一个新数组。新数组的内容是从起点下标的元素到终点下标的元素,但不包含终点下标的元素本身。 + +语法: + +arr.slice(index1, index2); +1 +var arr = ["a", "b", "c"]; +console.log(arr.slice(1, 2)); // b +1 +2 +上面的代码从下标为 1 的元素开始截取,截取到下标为 2 处,但是不包括下标为 2 的元素。 + +注意: + +slice 方法的参数可以是负值,-1 代表最后一个元素,-2 代表倒数第二个元素。 +如果只写一个下标,则表示从该下标处截取到数组末尾。 +3.11 splice +splice 方法和 slice 方法很相似,但是 splice 更强大,splice 方法的作用是在指定下标处截取一定长度的元素,再插入一些新元素,并将删除的元素构成一个新数组返回,splice 方法会改变原数组。 + +语法: + +arr.splice(index, removeCount, addItem1, addItem2...); +1 +var nums = [1, 2, 3, 'a', 'b', 'c', 7, 8, 9]; +// 从索引为 3 的位置删除 3 个元素,再将 4, 5, 6 添加进去 +var new1 = nums.splice(3, 3, 4, 5, 6); +console.log(new1); // ["a", "b", "c"] +console.log(nums); // [1, 2, 3, 4, 5, 6, 7, 8, 9] +1 +2 +3 +4 +5 +注意:前两个参数是必要的,后面的可以自己选择。 + +3.12 sort +sort 方法用于对数组元素进行排序,默认按照编码方式进行排序(即不在括号里写任何内容),如果不希望按照默认方式排序,则需要自定义排序函数。 + +语法: + +arr.sort(sortby); +1 +var arr = [1, 100, 40, 25, 38]; +console.log(arr.sort()); // [1, 100, 25, 38, 40] +1 +2 +注意:如果调用该方法时没有使用参数,则按照字符编码的顺序排序。 + +3.13 indexOf +indexOf 方法能够从前到后检索数组,并返回元素在数组中的第一次出现的下标,如果没有找到则返回 -1,indexOf 第二个参数表示第几个元素开始索引。 +语法: + +arr.indexOf(item, beginIndex); +1 +var nums = [11, 13, 15, 17, 19, 11]; +console.log(nums.indexOf(11)); // 0 +console.log(nums.indexOf(11, 1)); // 5 +console.log(nums.indexOf(100)); // -1 +1 +2 +3 +4 +注意:第二个参数可以是负值,如果是 -1 则表示从最后一个元素开始向后查找(不推荐)。 + +3.14 lastIndexOf +lastIndexOf 方法能够从后向前检索数组,并返回元素在数组中的最后一次出现的下标,如果没有找到则返回 -1,lastIndexOf 的第二个参数表示从第几个元素开始索引,是可选参数。 + +语法: + +arr.lastIndexOf(item, beginIndex); +1 +var nums = [11, 13, 15, 17, 19, 11]; +console.log(nums.lastIndexOf(11)); // 5 +console.log(nums.lastIndexOf(11, -2)); // 0 +console.log(nums.lastIndexOf(100)); // -1 -- Gitee