目录
1、在原来数组上加字段
-
- 1、在原来数组上加字段
- 2、在原来数组上分出两个数组
此字段有两种状态。不改变原来数组。
let originData = [ { "id": 1, "value": "近水楼台先得月,向阳花木易为春。" }, { "id": 2, "value": "路漫漫其修远兮,吾将上下而求索。" }, { "id": 3, "value": "落霞与孤鹜齐飞,秋水共长天一色。" }, { "id": 4, "value": "穷则独善其身,达则兼济天下。" }, { "id": 5, "value": "沧海月明珠有泪,蓝田日暖玉生烟。" } ]; let mateData = [2, 3, 5]; let mapFor = function(originData, mateData) { let result = originData.map(item => { let items = { ...item, title: 0 }; for (let i = 0; i < mateData.length; i++) { const element = mateData[i]; if (item.id == element) { items.title = 1; continue; } } return items; }); console.log('mapFor:', result); }; let mapSome = function(originData, mateData) { return originData.map(item => { let items = { ...item, title: 0 }; mateData.some(_ => _ === item.id) && (items.title = 1); return items; }); }; // 方案一 mapFor(originData, mateData); // 方案二 console.log(mapSome(originData, mateData));2、在原来数组上分出两个数组
不改变原来数组。
let originData = [ "近水楼台先得月,向阳花木易为春。", "路漫漫其修远兮,吾将上下而求索。", "落霞与孤鹜齐飞,秋水共长天一色。", "穷则独善其身,达则兼济天下。", "沧海月明珠有泪,蓝田日暖玉生烟。" ]; let mateData = ["路漫漫其修远兮,吾将上下而求索。", "沧海月明珠有泪,蓝田日暖玉生烟。"], arr1 = [], arr2 = []; originData.forEach((item) => { for (let i = 0; i < mateData.length; i++) { if (item == mateData[i]) { arr1.push(item); return false; } } arr2.push(item); }); console.log('arr1', arr1); // ["路漫漫其修远兮,吾将上下而求索。", "沧海月明珠有泪,蓝田日暖玉生烟。"] console.log('arr2', arr2); // ["近水楼台先得月,向阳花木易为春。", "落霞与孤鹜齐飞,秋水共长天一色。", "穷则独善其身,达则兼济天下。"]