web前端面试题 数组旋转

本文介绍了一种简单易懂的数组顺时针旋转方法,通过示例详细展示了如何将一个二维数组进行顺时针旋转90度的操作,并提供了易于初学者理解的JavaScript代码实现。

题目:

已知数组:

1 0 3

6 3 2

5 6 9

如何将一个数组顺时针旋转?

旋转成为

5 6 1

6 3 0

9 2 3


本题适用人群:求职大学生、初学者、或者茶余饭后图个乐的大神

之所以提这题是因为算法题如果不注意准备还真是容易被问蒙圈,感觉就像脑筋急转弯一样。

其实你说这题前端经常用吗?

但是编程学习,只有兴趣,没有借口。


代码是我自己写的,会比较简单,方便初学者看懂。

网上也有别人写的,比较难以理解。

代码:

<script>
    var b=[[1,0,3],[6,3,2],[5,6,9]];
    var  a=[[,,],[,,],[,,]];
    for(var i=0;i<=2;i++){
        for(var j=0;j<=2;j++){
            a[i][j]=b[2-j][i];
        }
    }
    console.log('原始数组')
    for(var i=0;i<=2;i++){
        console.log(b[i][0],b[i][1],b[i][2])
    }
    console.log('顺时针旋转后数组')
    for(var i=0;i<=2;i++){
        console.log(a[i][0],a[i][1],a[i][2])
    }
</script>

前端面试中,经常会被问到关于JavaScript数组的方法。下面是一些常见的数组方法: 1. `push()`:向数组末尾添加一个或多个元素,并返回新数组的长度。 2. `pop()`:删除并返回数组的最后一个元素。 3. `shift()`:删除并返回数组的第一个元素。 4. `unshift()`:向数组的开头添加一个或多个元素,并返回新数组的长度。 5. `concat()`:将两个或多个数组合并成一个新数组。 6. `slice()`:返回指定索引范围内的元素,不会修改原数组。 7. `splice()`:从指定位置删除或替换元素,并返回被删除的元素。 8. `join()`:将数组中的所有元素以指定的分隔符连接成一个字符串。 9. `indexOf()`:返回指定元素在数组中首次出现的索引,如果不存在则返回-1。 10. `lastIndexOf()`:返回指定元素在数组中最后一次出现的索引,如果不存在则返回-1。 11. `forEach()`:对数组中的每个元素执行指定的操作。 12. `map()`:对数组中的每个元素执行指定的操作,并返回一个新数组。 13. `filter()`:根据指定条件过滤数组中的元素,并返回一个新数组。 14. `reduce()`:对数组中的所有元素执行指定的累加器函数,返回一个累计值。 15. `sort()`:对数组进行排序,默认按照Unicode编码顺序进行排序。 16. `reverse()`:颠倒数组中元素的顺序。 17. `find()`:返回数组中满足指定条件的第一个元素。 18. `findIndex()`:返回数组中满足指定条件的第一个元素的索引。 19. `some()`:检测数组中是否至少有一个元素满足指定条件。 20. `every()`:检测数组中的所有元素是否都满足指定条件。 以上只是一些常见的数组方法,还有许多其他方法可以用于对数组进行操作和处理。在面试中,了解这些常用方法并能够灵活运用是很重要的。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值