javascript当中for in Array用法

博客给出了JavaScript中使用for in遍历数组的示例代码。代码定义了一个数组,通过for in循环遍历该数组,并将数组索引和对应的值输出。更多内容可查看指定链接。

11)for in Array
例 3.11.1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title></title>
    <script type="text/javascript">
        var a=['hello','teacher','马克-to-win'];
        for(var iii in a){
            this.document.write('inidex'+iii+'的值是'+a[iii]+"<br>");
        }
    </script>
</head>
<body>
</body>
</html>
更多请见:https://blog.youkuaiyun.com/qq_44594249/article/details/100123160

### JavaScript 数组方法及其用法 JavaScript 提供了许多内置的方法来操作数组,这些方法可以用于修改、查询以及转换数据结构。以下是常见的数组方法及其功能描述: #### 1. 添加/移除元素 - **`push()`**: 向数组末尾添加一个或多个元素,并返回新长度。 ```javascript let arr = [1, 2]; arr.push(3); console.log(arr); // 输出: [1, 2, 3] ``` - **`pop()`**: 移除数组最后一个元素并返回该元素。 ```javascript let arr = [1, 2, 3]; let removedElement = arr.pop(); console.log(removedElement); // 输出: 3 console.log(arr); // 输出: [1, 2] ``` - **`unshift()`**: 在数组开头添加一个或多个元素,并返回新长度。 ```javascript let arr = [2, 3]; arr.unshift(1); console.log(arr); // 输出: [1, 2, 3] ``` - **`shift()`**: 删除数组的第一个元素并返回它。 ```javascript let arr = [1, 2, 3]; let firstElement = arr.shift(); console.log(firstElement); // 输出: 1 console.log(arr); // 输出: [2, 3] ``` - **自定义删除特定值**[^1]: 使用 `splice()` 方法可以从指定位置删除元素。也可以通过扩展原型链实现更方便的功能: ```javascript Array.prototype.removeByValue = function(val) { for (let i = 0; i < this.length; i++) { if (this[i] === val) { this.splice(i, 1); i--; } } return this; }; const myArray = [1, 2, 3, 4]; myArray.removeByValue(3); console.log(myArray); // 输出: [1, 2, 4] ``` #### 2. 查找与过滤 - **`indexOf()` 和 `lastIndexOf()`**: 返回第一个匹配项的索引或者最后匹配项的索引;如果未找到则返回 `-1`。 ```javascript let arr = ['a', 'b', 'c']; console.log(arr.indexOf('b')); // 输出: 1 console.log(arr.lastIndexOf('d')); // 输出: -1 ``` - **`find()` 和 `findIndex()`**: 找到满足条件的第一个元素或其索引。 ```javascript let numbers = [1, 2, 3, 4]; let evenNumber = numbers.find(num => num % 2 === 0); console.log(evenNumber); // 输出: 2 let indexEven = numbers.findIndex(num => num % 2 === 0); console.log(indexEven); // 输出: 1 ``` - **`filter()`**: 创建一个新的数组,其中包含所有符合条件的元素。 ```javascript let scores = [80, 70, 90, 60]; let passingScores = scores.filter(score => score >= 70); console.log(passingScores); // 输出: [80, 70, 90] ``` #### 3. 遍历与映射 - **`forEach()`**: 对数组中的每一项执行回调函数。 ```javascript let fruits = ['apple', 'banana', 'cherry']; fruits.forEach(fruit => console.log(fruit)); // 输出依次为 apple banana cherry ``` - **`map()`**: 将当前数组中的每个元素传递给提供的函数处理后生成新的数组。 ```javascript let nums = [1, 2, 3]; let doubledNums = nums.map(x => x * 2); console.log(doubledNums); // 输出: [2, 4, 6] ``` - **`reduce()`**: 可以累积计算整个数组的结果。 ```javascript let sum = [0, 1, 2, 3].reduce((accumulator, currentValue) => accumulator + currentValue, 0); console.log(sum); // 输出: 6 ``` #### 4. 排序与反转 - **`sort()`**: 默认按字符串升序排列,可以通过提供比较器改变行为。 ```javascript let letters = ['e', 'a', 'z', 'f']; letters.sort(); // 字符串默认排序方式 console.log(letters); // 输出: ["a", "e", "f", "z"] let values = [1, 10, 21, 2]; values.sort((a, b) => a - b); // 数字从小到大排序 console.log(values); // 输出: [1, 2, 10, 21] ``` - **`reverse()`**: 原地翻转数组顺序。 ```javascript let list = [1, 2, 3]; list.reverse(); console.log(list); // 输出: [3, 2, 1] ``` #### 5. 转换与其他操作 - **`join()`**: 把数组的所有元素连接成一个字符串。 ```javascript let words = ['hello', 'world']; let sentence = words.join(' '); console.log(sentence); // 输出: hello world ``` - **`slice()`**: 返回从原数组中选取的部分副本(不会影响原始数组)。 ```javascript let originalArr = [1, 2, 3, 4]; let subArr = originalArr.slice(1, 3); console.log(subArr); // 输出: [2, 3] ``` --- ### 特殊情况说明 当尝试访问不存在的属性时可能会遇到 `undefined` 的情形[^2]。 嵌套条件语句可用于复杂逻辑判断场景下进一步细化分支控制流程[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mark_to_win

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值