JavaScript---数组问题
来源:互联网 发布:java并发 多条数据 编辑:程序博客网 时间:2024/06/03 17:47
JavaScript—数组问题
一些简单的JavaScript的数组问题测验
查找数组元素位置
找出元素 item 在给定数组 arr 中的位置
输出描述:
如果数组中存在 item,则返回元素在数组中的位置,否则返回 -1
输入例子:
indexOf([ 1, 2, 3, 4 ], 3)
输出例子:
2
function indexOf(arr, item) { if (Array.prototype.indexOf){ return arr.indexOf(item); } else { for (var i = 0; i < arr.length; i++){ if (arr[i] === item){ return i; } } } return -1;}
数组求和
计算给定数组 arr 中所有元素的总和
输入描述:
数组中的元素均为 Number 类型
输入例子:
sum([ 1, 2, 3, 4 ])
输出例子:
10
function sum(arr) { var sum=0; for(var i=0;i<arr.length;i++){ sum+=arr[i]; } return sum;}
移除数组中的元素I
移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组
输入例子:
remove([1, 2, 3, 4, 2], 2)
输出例子:
[1, 3, 4]
function remove(arr, item) { var res=[]; for(var i=0;i<arr.length;i++){ if(item==arr[i])continue; else res.push(arr[i]); } return res;}
移除数组中的元素II
移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回
输入例子:
removeWithoutCopy([1, 2, 2, 3, 4, 2, 2], 2)
输出例子:
[1, 3, 4]
function removeWithoutCopy(arr, item) { for(var i=0;i<arr.length;i++){ if(item == arr[i]){ arr.splice(i,1); i--; } } return arr;}
添加元素I
在数组 arr 末尾添加元素 item。不要直接修改数组 arr,结果返回新的数组
输入例子:
append([1, 2, 3, 4], 10)
输出例子:
[1, 2, 3, 4, 10]
function append(arr, item) { var res=[]; res=arr.slice(0); res.push(item); return res;}
删除数组最后一个元素
删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组
输入例子:
truncate([1, 2, 3, 4])
输出例子:
[1, 2, 3]
function truncate(arr) { return arr.slice(0,arr.length-1);}
添加元素II
在数组 arr 开头添加元素 item。不要直接修改数组 arr,结果返回新的数组
输入例子:
prepend([1, 2, 3, 4], 10)
输出例子:
[10, 1, 2, 3, 4]
function prepend(arr, item) { return [item].concat(arr);}
删除数组第一个元素
删除数组 arr 第一个元素。不要直接修改数组 arr,结果返回新的数组
输入例子:
curtail([1, 2, 3, 4])
输出例子:
[2, 3, 4]
function curtail(arr) { return [].concat(arr.slice(1));}
数组合并
合并数组 arr1 和数组 arr2。不要直接修改数组 arr,结果返回新的数组
输入例子:
concat([1, 2, 3, 4], [‘a’, ‘b’, ‘c’, 1])
输出例子:
[1, 2, 3, 4, ‘a’, ‘b’, ‘c’, 1]
function concat(arr1, arr2) { var arr=[]; arr=arr1.concat(arr2); return arr;}
在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组
输入例子:
insert([1, 2, 3, 4], ‘z’, 2)
输出例子:
[1, 2, ‘z’, 3, 4]
添加元素III
function insert(arr, item, index) { var res=[]; res=arr.slice(0,index); res.push(item); return res.concat(arr.slice(index));}
计数
统计数组 arr 中值等于 item 的元素出现的次数
输入例子:
count([1, 2, 4, 4, 3, 4, 3], 4)
输出例子:
3
function count(arr, item) { var c = arr.reduce(function(prev, curr) { if(curr===item) return prev+1; else return prev; }, 0); return c; }
查找重复元素
找出数组 arr 中重复出现过的元素
输入例子:
duplicates([1, 2, 4, 4, 3, 3, 1, 5, 3]).sort()
输出例子:
[1, 3, 4]
function duplicates(arr) { //声明两个数组,a数组用来存放结果,b数组用来存放arr中每个元素的个数 var a = [],b = []; //遍历arr,如果以arr中元素为下标的的b元素已存在,则该b元素加1,否则设置为1 for(var i = 0; i < arr.length; i++){ if(!b[arr[i]]){ b[arr[i]] = 1; continue; } b[arr[i]]++; } //遍历b数组,将其中元素值大于1的元素下标存入a数组中 for(var i = 0; i < b.length; i++){ if(b[i] > 1){ a.push(i); } } return a; }
求二次方
为数组 arr 中的每个元素求二次方。不要直接修改数组 arr,结果返回新的数组
输入例子:
square([1, 2, 3, 4])
输出例子:
[1, 4, 9, 16]
function square(arr) { return arr.map(function(e) { return e * e; }) }
查找元素位置
在数组 arr 中,查找值与 item 相等的元素出现的所有位置
输入例子:
findAllOccurrences(‘abcdefabc’.split(”), ‘a’).sort()
输出例子:
[0, 6]
function findAllOccurrences(arr, target) { var res=[]; for(var i=0;i<arr.length;i++){ if(arr[i]===target){ res.push(i); } } return res;}
- javascript数组问题
- JavaScript---数组问题
- javascript数组去重问题
- javascript中用数组sort排序问题
- Javascript中的数组去重问题
- javascript 数组
- JavaScript 数组
- Javascript数组
- javascript数组
- JavaScript 数组
- JavaScript 数组
- javascript数组
- javascript 数组
- javascript数组
- javaScript 数组
- JavaScript数组
- javascript数组
- javascript 数组
- Cocos2d-LUA 3.12 + SublimeText 3 开发环境搭建
- 【C语言】scanf返回值问题
- Linux命令简写全称
- paypal_ipn的option_selection1消失的解决方式
- hdu 5543 Pick The Sticks 【01背包】
- JavaScript---数组问题
- 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
- mdev机制(四)————mdev实现U盘或SD卡自动挂载
- reinforce
- Windows PE 第十三章 PE补丁技术
- Centos安装lnmp(php7.0)+mongodb数据库
- 欢迎使用CSDN-markdown编辑器
- 使用Executors创建和管理线程
- Reverse Linked List 解题报告