两个数组对应去重并切割

<script>
    var selectedIdArry = [11,5,88,12,99,12,5];
    var selectedNameArry = ['11号','5号','88号','12号','99号','12号','5号'];
    //直接定义结果数组  
	var arr=[] ;
	for(var i = 1; i < selectedIdArry.length; i++){  
		if(selectedIdArry.indexOf(selectedIdArry[i]) == i){  
			// arr.push(selectedIdArry[i]);  
		}else{
			arr.push(i)
		}   
	}   
	for(var i=0;i<arr.length;i++){
		selectedIdArry.splice(arr[i]-i,1);
		selectedNameArry.splice(arr[i]-i,1);
	}
	var newIds = "";
	var newNames = "";
	for(var i = 0; i < selectedIdArry.length; i++){
		if(i == (selectedIdArry.length - 1)){
			newIds = newIds + selectedIdArry[i];
			newNames = newNames + selectedNameArry[i];
		}else{
			newIds = newIds + selectedIdArry[i] + ",";
			newNames = newNames + selectedNameArry[i] + ",";
		}
	} 
    console.log(newIds);
    console.log(newNames);
</script>

 

### 使用 JavaScript 对两个数组进行 对于两个数组操作,可以通过将两个数组成一个新数组利用 `Set` 的特性复项来完成。以下是具体实现方式: #### 合 通过扩展运算符 (`...`) 将两个数组为一个新的数组,随后将其传递给 `Set` 构造函数以移除复项[^1]。 ```javascript let array1 = [1, 2, 3]; let array2 = [2, 3, 4]; // 合两个数组通过 Set let uniqueArray = [...new Set([...array1, ...array2])]; console.log(uniqueArray); // 输出: [1, 2, 3, 4] ``` 上述代码片段展示了如何使用 `Set` 和扩展运算符对两个数组中的元素进行。 #### 手动遍历法 如果不想依赖于现代浏览器支持的功能(如 `Set`),也可以手动编写逻辑来实现相同的效果。这通常涉及嵌套循环或者借助辅助数据结构(如对象或 Map)记录已存在的值[^2]。 ```javascript function unionArrays(arr1, arr2) { let result = []; let seen = {}; function addUniqueItems(array) { for (const item of array) { if (!seen[item]) { // 如果未见过该元素,则加入结果集 result.push(item); seen[item] = true; } } } addUniqueItems(arr1); addUniqueItems(arr2); return result; } let arrayA = ['a', 'b', 'c']; let arrayB = ['b', 'd']; console.log(unionArrays(arrayA, arrayB)); // ["a", "b", "c", "d"] ``` 此方法适用于需要兼容旧版环境的情况,且能够清晰展示每一步的操作过程。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值