js數(shù)組對(duì)象里面如何獲取某個(gè)屬性值相等的對(duì)象
js數(shù)組對(duì)象里面獲取某個(gè)屬性值相等的對(duì)象
例:
var outArr=[ {"name":"張三","id":1,age:18}, {"name":"李四","id":2,age:19}, {"name":"王五","id":3,age:18}, {"name":"小紅","id":4,age:20}, {"name":"小明","id":5,age:17}, {"name":"小白","id":6,age:18} ]; var newArr = outArr.filter(function (obj) { return obj.age== 18; }); console.log(newArr); // [{"name":"張三","id":1,age:18},{"name":"王五","id":3,age:18},{"name":"小白","id":6,age:18}]
js獲取兩個(gè)數(shù)組及數(shù)組對(duì)象中相同和不相同的值
1、獲取兩個(gè)數(shù)組中相同的元素
var arr1 = [0,1,2,3,4,5]; var arr2 = [0,4,6,1,3,9]; function getArrEqual(arr1, arr2) { ? ? ? ? let newArr = []; ? ? ? ? for (let i = 0; i < arr2.length; i++) { ? ? ? ? ? ? for (let j = 0; j < arr1.length; j++) { ? ? ? ? ? ? ? ? if(arr1[j] === arr2[i]){ ? ? ? ? ? ? ? ? ? ? newArr.push(arr1[j]); ? ? ? ? ? ? ? ? } ? ? ? ? } ? ? ?} ? ? ?return newArr; } console.log(getArrEqual(arr1, arr2)); //[0, 4, 1, 3]
2、獲取兩個(gè)數(shù)組中不相同的元素
var arr1 = [0,1,2,3,4,5]; var arr2 = [0,4,6,1,3,9]; function getArrDifference(arr1, arr2) { ? ? return arr1.concat(arr2).filter(function(v, i, arr) { ? ? ? ? ?return arr.indexOf(v) === arr.lastIndexOf(v); ? ? }); } console.log(getArrDifference(arr1,arr2)); ? ?// [2, 5, 6, 9]
3、獲取兩個(gè)數(shù)組對(duì)象中相同的值
function getArrDifSameValue(arr1,arr2){ ? ? var result = []; ? ? for(var i = 0; i < arr2.length; i++){ ? ? ? ? var obj = arr2[i]; ? ? ? ? var id = obj.id; ? ? ? ? var isExist = false; ? ? ? ? for(var j = 0; j < arr1.length; j++){ ? ? ? ? ? ? var aj = arr1[j]; ? ? ? ? ? ? var n = aj.id; ? ? ? ? ? ? if(n == id){ ? ? ? ? ? ? ? ? isExist = true; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? if(isExist){ ? ? ? ? ? ? result.push(obj); ? ? ? ? } ? ? } ? ? return result; } ? var arr1 = [ {"id": "A"},{"id": "B"}]; var arr2 = [ {"id": "A"}, {"id": "B"},{"id": "C"}]; console.log(getArrDifSameValue(arr1,arr2));
4、獲取兩個(gè)數(shù)組對(duì)象中不相同的值
function getArrDifSameValue(arr1,arr2){ ? ? var result = []; ? ? for(var i = 0; i < arr2.length; i++){ ? ? ? ? var obj = arr2[i]; ? ? ? ? var id = obj.id; ? ? ? ? var isExist = false; ? ? ? ? for(var j = 0; j < arr1.length; j++){ ? ? ? ? ? ? var aj = arr1[j]; ? ? ? ? ? ? var n = aj.id; ? ? ? ? ? ? if(n == id){ ? ? ? ? ? ? ? ? isExist = true; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? if(!isExist){ ? ? ? ? ? ? result.push(obj); ? ? ? ? } ? ? } ? ? return result; } ? var arr1 = [ {"id": "A"},{"id": "B"}]; var arr2 = [ {"id": "A"}, {"id": "B"},{"id": "C"}]; console.log(getArrDifSameValue(arr1,arr2)); // [{"id": "C"}]
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
html+css+js實(shí)現(xiàn)別踩白板小游戲
大家好,本篇文章主要的講的是html+css+js實(shí)現(xiàn)別踩白板小游戲,感興趣的同學(xué)趕快來看一看吧,覺得不錯(cuò)的話可以收藏一下哦,方便下次瀏覽2021-11-11淺談bootstrap源碼分析之tab(選項(xiàng)卡)
下面小編就為大家?guī)硪黄獪\談bootstrap源碼分析之tab(選項(xiàng)卡)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06firefox下對(duì)ajax的onreadystatechange的支持情況分析
firefox下對(duì)ajax的onreadystatechange的支持分析。用的到的朋友可以參考下。2009-12-12使用JSX 建立 Markup 組件風(fēng)格開發(fā)的示例(前端組件化)
這篇文章主要介紹了使用JSX 建立 Markup 組件風(fēng)格開發(fā)的示例(前端組件化)本文重點(diǎn)講解如何從0搭建一個(gè)組件系統(tǒng),在這里我們會(huì)學(xué)習(xí)使用JSX來建立markup 的風(fēng)格,我們基于與React 一樣的 JSX 去建立我們組件的風(fēng)格2021-04-04JavaScript數(shù)組Array的一些常用方法總結(jié)
JavaScript的Array對(duì)象是用于構(gòu)造數(shù)組的全局對(duì)象,數(shù)組是類似于列表的高階對(duì)象,下面這篇文章主要給大家介紹了關(guān)于JavaScript數(shù)組Array的一些常用方法,需要的朋友可以參考下2021-11-11JavaScript實(shí)現(xiàn)圖片無縫滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)圖片無縫滾動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07使用webpack搭建pixi.js開發(fā)環(huán)境
這篇文章主要介紹了使用webpack搭建pixi.js開發(fā)環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02JS時(shí)間控制實(shí)現(xiàn)動(dòng)態(tài)效果的實(shí)例講解
下面小編就為大家?guī)硪黄狫S時(shí)間控制實(shí)現(xiàn)動(dòng)態(tài)效果的實(shí)例講解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07