js數組對象里面如何獲取某個屬性值相等的對象
更新時間:2023年04月18日 15:23:55 作者:阡路陌人
這篇文章主要介紹了js數組對象里面如何獲取某個屬性值相等的對象問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
js數組對象里面獲取某個屬性值相等的對象
例:
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獲取兩個數組及數組對象中相同和不相同的值
1、獲取兩個數組中相同的元素
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、獲取兩個數組中不相同的元素
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、獲取兩個數組對象中相同的值
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、獲取兩個數組對象中不相同的值
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"}]總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
firefox下對ajax的onreadystatechange的支持情況分析
firefox下對ajax的onreadystatechange的支持分析。用的到的朋友可以參考下。2009-12-12
使用JSX 建立 Markup 組件風格開發(fā)的示例(前端組件化)
這篇文章主要介紹了使用JSX 建立 Markup 組件風格開發(fā)的示例(前端組件化)本文重點講解如何從0搭建一個組件系統(tǒng),在這里我們會學習使用JSX來建立markup 的風格,我們基于與React 一樣的 JSX 去建立我們組件的風格2021-04-04
使用webpack搭建pixi.js開發(fā)環(huán)境
這篇文章主要介紹了使用webpack搭建pixi.js開發(fā)環(huán)境,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-02-02

