已知一个oldArr与一个newArr,现要求如下:
将一个数组中的某一key下的value全部放到一个新数组中,然后使用去重将该新数组打印出来
oldArr = [ { color:"red"}, { color:"red"}, { color:"blue"} ]
将 oldArr 数组中的某一key下的value全部放到一个新数组 newArr 中
const newArr = ref(); const oldArr = [ { color:"red"}, { color:"red"}, { color:"blue"} ]; oldArr.forEach((ele)=>{ newArr.value.push(ele.color) })//['red','red','blue']
数组去重—— 利用for嵌套for,然后splice去重
const newArr = ref(); const oldArr = [ { color:"red"}, { color:"red"}, { color:"blue"} ]; oldArr.forEach((ele)=>{ newArr.value.push(ele.color) })//['red','red','blue'] // 去重 for(let i = 0; i<newArr.value.length; i++){ for(let j = i+1; j<newArr.value.length; j++){ if(newArr.value[i] == newArr.value[j]){ newArr.value.spice(j,1); j-- } } }
- 封装成一个方法unlink
function unlink(arr) { for (var i = 0; i < arr.length; i++) { // 首次遍历数组 for (var j = i + 1; j < arr.length; j++) { // 再次遍历数组 if (arr[i] == arr[j]) { // 判断连个值是否相等 arr.splice(j, 1); // 相等删除后者 j--; } } } return arr }