- 题目1:封装一个两数相加和的函数;封装一个两数相减的函数;封装一个两数相乘的函数;封装一个
两数相除的函数
function sum(a,b){
return a+b
}
function subtract(a,b){
return a - b
}
function multiply(a,b){
return a*b
}
function divide(a,b){
return a / b
}
- 题目2:有一个 全是
number
的数组,长度不定封装一个函数 接收一个数组 让这个数组全部值都加1 并且返回一个新数组(不能用 es5 方法 例如:forEach)
function sumArray(arr){
var b = []
for(var i = 0; i<arr.length; i++){
b.push(arr[i] + 1)
}
return b
}
- 题目3:
{ 0: 1, 1: 2, 2: 3, 3: 4, 4: 5}
有以上长度不定对象转化成 [{0: 1},{ 1: 2 }, { 2: 3 },{ 3: 4 }, {4: 5}]
function newArrays(arr){
var bb=[]
for(var key in arr){
bb.push({ [key]: arr[key] })
}
return bb
}
- 题目4:封装一个函数接收两个纯
number数组
,返回 两个 数组所有值相加的总和
// 方法1
function reduce(a,b){
var concatArray =a.concat(b)
var sum =0
for(var i=0;i<concatArray.length;i++){
sum += concatArray[i]
}
return sum
}
//方法2
function sum(a,b) {
var total=0;
for(var i =0;i<a.length;i++){
total+=a[i]
}
for(var j=0;j<b.length;j++){
total+=b[j]
}
return Number(total)
}
- 题目5:
{ a: 1, b: 'jjj', c: 999 }
有以上对象,长度不定,value
长度可能是number
可能是string
分装一个函数 接受一个对象,把所有value
是number
的值相加起来返回
function isNumberAdd(a) {
var addNums= Object.values(a)
var total=0
for(var i =0;i<addNums.length;i++){
if(typeof (addNums[i])==="number"){
total+=Number(addNums[i])
}
}
return total
}
//方法1:
function find(arr){
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) == -1 ) {
newArr.push(arr[i]);
}
return newArr
}
// 方法2
var a = [1,2,3,4,5,1,2]
function xx(arr){
var obj = {}
for(var i = 0; i < arr.length; i++){
if(obj[arr[i]]){
}else{
obj[arr[i]] = arr[i]
}
}
return Object.values(obj)
}
//方法3
function quchong(arr){
var newa =[]
for(var i =0;i<arr.length;i++){
if(!newa.includes(arr[i])){
newa.push(arr[i])
}
}
return newa
}