- 查找元素的位置:已知一个数组当中有一个item 元素,请找出元素在数组当中的位置并输出位置;如果没有则返回-1;
function indexOf(arr,item){
for(let i=0;i<arr.length;i++){
if(arr[i]==item){
return i;
}
}
return -1
}
2.移除数组当中所有值与item相等的元素,直接在数组arr上操作,并将结果返回
function removeWithoutCopy(arr,item){
for(let i = 0;i<arr.length;i++){
if(arr[i] == item){
arr.splice(i,1);
}
}
return arr;
}
3.在数组arr的末尾添加元素item,不要直接修改原数组,返回新数组。
function append(arr,item){
let newArr = [];
for(let i in arr){
newArr[i] = item[i];
}
newArr.push(item);
return newArr;
}
4.删除数组arr当中的最后一个元素,要求不修改原数组,结果返回新的数组。
function truncate(arr) {
let newArr =[];
for(let i in arr){
newArr[i] = arr[i];
}
newArr.pop();
return newArr;
}
5.在数组arr的开头添加元素item,要求不改变原数组,并返回新数组。
//方法一
function truncate(arr,item) {
let newArr =[];
for(let i in arr){
newArr[i] = arr[i];
}
newArr.unshift(item);
return newArr;
}
//方法二
function prepend(arr, item) {
let newArr = [];
for(let i= 0;i<arr.length;i++){
newArr.push(arr[i]);
}
newArr.unshift(item);
return newArr;
}
6.删除数组arr的第一个元素,要求不修改原数组,返回新的数组。
function curtail(arr) {
let newArr = [];
for(let i in arr){
newArr[i] = arr[i];
}
newArr.shift();
return newArr;
}
7.合并数组arr1和arr2,要求不修改原数组,并返回合并后的新数组。
function concat(arr1, arr2) {
let newArr1 = [];
let newArr2 = [];
for(let i in arr1){
newArr1[i] = arr1[i];
};
for(let i in arr2){
newArr2[i] = arr2[i];
};
let newArr = newArr1.concat(newArr2);
return newArr;
}
8.在数组的index处添加元素item,要求不修改原数组,返回新数组;
//方法一
function insert(arr, item, index) {
let newArr= [];
for(let i in arr){
newArr[i] = arr[i];
}
newArr.splice(index,0,item)
return newArr;
}
//方法二
function insert(arr, item, index) {
let newArr= [];
for(let i in arr){
newArr[i] = arr[i];
}
newArr.splice(index,0,item)
return newArr;
}
9.统计数组当中值等于item的元素出现的次数
//方法一
function count(arr, item) {
let count =0;
for(let i in arr){
if(arr[i] == item){
count++;
}
}
return count;
}
//方法二
function count(arr, item) {
let count = 0;
arr.forEach(function(value){
if(value == item){
count++;
}
})
return count;
}
10.找出数组当中重复出现过的元素
方法一:
function duplicates(arr){
let newArr = [];
for(let i =0;i<arr.length;i++){
for(let j = i+1;j<arr.length;j++){
if(arr[i]==arr[j]&&newArr.indexOf(i)== -1){
newArr[i]=arr[i];
}
}
}
return newArr;
}
11.为数组当中的每一个元素求二次方,要求不修改元素组,返回一个新数组。
function square(arr) {
let newArr = [];
for(let i in arr){
newArr[i]=arr[i]*arr[i];
}
return newArr;
}
12.在数组arr当中,查找值与item相等的元素出现的所有位置。
function findAllOccurrences(arr, target) {
let index = [];
for(let i =0;i<arr.length;i++){
if(arr[i]==target){
index.push(i);
}
}
return index;
}