为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript 数组练习题

标签:
JavaScript

真正的掌握知识需要不断的练习。下面列了些练习题。希望对大家有所帮助。

如果对数组的 API 不是很熟悉,可查阅 MDN Array 的介绍。

题 1:查找数组对象中 age 大于 18 对象
编写函数 filterAdult,满足

filterAdult([
    {age: 19, name:'Jack'},
    {age: 5, name:'Apple'},
    {age: 12, name:'Lynn'},
    {age: 25, name:'David'}
]);
// 输出
[
    {age: 19, name:'Jack'},
    {age: 25, name:'David'}
]

题 2:判断数组中是否所有的数字都大于 0
编写函数 isAllNumPosive,满足

isAllNumPosive([1, 2, 3, 4]);  // 输出 true
isAllNumPosive([1, 2, 3, 4, -1]);  // 输出 false
isAllNumPosive([1, 2, 3, 4, 'a', {a:3}]);  // 输出 true

题 3:改变传入的数组,将数组中第 n(从 0 开始算 ) 个元素放到数组的开头
编写函数 putFirst,满足

var arr = [1, 2, 3, 4];
putFirst(arr, 2);
// 此时 arr为 [3, 1, 2, 4]

题 4: 将 arguments 对象转换成数组
编写函数 toArray,满足

(function(){
    var arr = toArray(arguments);
    Array.isArray(arr); // 输出 ture
})(1, 2);

题 5:将数组中数字内容求和
编写函数 sum,满足

sum([1, 2, 3, 4]);  // 输出 10 
sum(['a', 1, 2, {a:3}, 3, 4, 1.2]);  // 输出 11.2

题 6: 将数组元素按 age 字段的值,从小到大排序
编写函数 sortAge,满足

sortAge([
    {age: 19, name:'Jack'},
    {age: 5, name:'Apple'},
    {age: 12, name:'Lynn'},
    {age: 25, name:'David'}
]);
// 输出
[
    {age: 5, name:'Apple'},
    {age: 12, name:'Lynn'},
    {age: 19, name:'Jack'},
    {age: 25, name:'David'}
]

题 7: 将数组元素去重,其中数组元素均为基本类性
编写函数 uniq,满足

uniq([1,2,2,3,4,4,4,4]); // 输出 [1,2,3,4]
uniq([1,2,'M','e','r', 'r', 'y']); // 输出 [1,2,'M','e','r','y']

题 8: 将数组内容乱序
编写函数 random,满足

random([1,2,3,4]); // 输出的可能是 [1,2,3,4] 或 [1,3,4,2] 或 [3,4,1,2] 等等随机可能

如果想获得更多练习,CodeWars 上有更多有意思的题。


本文遵守创作共享CC BY-NC-SA 4.0协议
网络平台如需转载必须与本人联系确认。

点击查看更多内容
19人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消