const arr = [{"id": 0, "name": "牛肉"},{"id": 1,"name": "羊肉"},{"id": 2, "name": "牛肉"},{"id": 3,"name": "鱼肉"},{ "id": 4,"name":"鸡肉"}]
* JSON数组去重
* @params {Array} arr 传入的JSON数组
* @param {String} attrName 根据哪个属性名去重
* @return {Array} 返回新的去重后的数组
function delRepeatJson(arr = [], attrName = '') {
var temp = {};
var result = [];
arr.forEach(function (item, index) {
if (!temp[item[attrName]]) {
result.push(item);
temp[item[attrName]] = true;
});
return result;
console.log(delRepeatJson(arr, 'name'));
function arrayReSet(jsonArray) {
let json = jsonArray; //两个数组对象合并
let newJson = []; //盛放去重后数据的新数组
console.log(json)
for (let i = 0; i < json.length; i++) { //循环json数组对象的内容
let flag = true; //建立标记,判断数据是否重复,true为不重复
for (let
需求描述:去除JSON数组中paymode字段相同的项,并将paymoney累加。
paylist:[{paymode:'1',payname:"现金",paymoney:"20"},
{paymode:'2',payname:"支付宝",paymoney:"50"},{paymode:'1',payname:"现金",paymoney:"40"}]
function UniquePay(paylist){
var payArr = [paylist[0]];
for(var i = 1; i < p
/*方法一: 1,'1' 会被认为是相同的; 所有hash对象,如:{x;1},{y:1}会被认为是相同的 //10ms */
Array.prototype.unique=function(){
var newArr=[],obj={};
for(var i=0,len=this.length;i<len;i++){
if(!ob...
一次无意接受到
json数组去重的帮助需求,自信满满的直接上手,不到两分钟留下代码就转身而去,不等屁股挨上座椅就被告知,无法
实现去重效果。。。。立马转身再次回头梳理代码,经过各种梳理与尝试,最终完成了预期效果的
实现,也意外的发现中间的一些容易忽略的坑与迷失点,现整理出来给自己梳理知识点的同时也给码友们提供参考。
json数组去重的方法其实很多,最原生的
js写法就是for循环遍历,然后剔除重复的对象之后新建一个数组,最后这个新建的数组就是自己需要的,如下实例代码:
function unique(arr)
JavaScript两个json数组删重(使用map+filter)
JavaScript一个json数组去重(使用filter)
JavaScript一个json数组去重(使用reduce)
JavaScript找出两个Json数组相同的属性和值(使用reduce)
JavaScript对象变json数组
在没有数据的时候页面的高度是690px;
调用数据请求后,在ajax的success里面打印高度还是690px (我认为是数据加载完了,但是页面没有渲染好,所以高度获取的还是之前的高度);
我就在vue这几个(created,mounted,updated)生命周期都打印了下,都还是690px;
需要用到$......
```javascript
function mergeAndDistinct(jsonArray1, jsonArray2) {
let mergedArray = jsonArray1.concat(jsonArray2);
let distinctArray = [];
for (let i = 0; i < mergedArray.length; i++) {
let flag = true;
for (let j = 0; j < distinctArray.length; j++) {
if (JSON.stringify(mergedArray[i]) === JSON.stringify(distinctArray[j])) {
flag = false;
break;
if (flag) {
distinctArray.push(mergedArray[i]);
return distinctArray;
这段代码接受两个对象数组作为参数,将它们合并为一个数组,并去除重复的对象。它使用嵌套的循环来比较每个对象是否已存在于新数组中,如果不存在,则将其添加到新数组中。最后,返回新数组作为结果。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [JS对象数组合并去重?](https://blog.csdn.net/weixin_35696012/article/details/114317473)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [Javascript 【基础】对象数组去重](https://blog.csdn.net/qq_31254489/article/details/109540976)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]