- 有二个数组nums1和nums2
- 变量m 表示nums1数组中大于m的元素
- 变量n 表示nums2数组中小于n的元素 要求:把nums2中大于m的元素和nums2中小于n的元素 合并,使合并后的数组按递减顺序排序 排列并去重,并输入指定的结果。
let nums1 = [ {value :2}, {value :8}, {value :5}, {value :10}, {value :-1}, {value :9}, ]
m= 1,
nums2 = [{value:2},{value:5},{value:6},{value:30}]
n = 15
function concatArr (arr,m,arr2,m){
//在这写代码
}
concatArr (nums1,m,nums2,n)
//输出结果是这样的:
{value :10},
{value :9},
{value :8},
{value :6},
{value :5},
{value :2},
解答 代码如下:
function concatArr (arr,m,arr2,m){
// 根据条件合并数组
let num = nums1.filter(item => item.value > 1).concat(nums2.filter(item => item.value > 1 && item.value< 15))
// console.log(num);
// 循环
for(let i = 0;i<num.length-1;i++) {
for (let j =i+1;j<num.length;j++) {
if(num[i].value === num[j].value) {
num.splice(j,1)
j--
}
}
}
// 排序
num1 = num.sort(function(a,b){return b.value-a.value})
console.log(num1);
}
concatArr (nums1,m,nums2,n)