簡體   English   中英

驗證數組的所有對象中的屬性值是否為假,並從數組的前三個最大對象中選擇屬性值

[英]Validate if property value is false in all objects of array and pick value of property from first three maximum objects of array

我有一組具有屬性的對象

let array = [{value: "None", selected: false, name: "None"},
{value: "sample utternace", selected: false, name: "sample utternace"},
{value: "sample", selected: false, name: "sample"}]
  1. 如果所有對象的“selected”屬性都是“false”,我需要從這些對象數組中驗證。

  2. 如果是,那么我需要為前三個最多選擇屬性“值”的值,如果“無”值除外。

  3. 如果數組大小小於屬性“value”的最小 2 個值,則應選擇屬性“value”的最大 3 個值應將其推送到數組

試過:

let newArray = [];
let sendValues: boolean;
for (let i = 0; i < array.length; i++) { // validate if all no value selected
    if (array[i].selected === true) {
       sendValues = true;
       break;
       } else {
         break;
       } 
     }                         
      if (sendValues) {                  
                    
            } else {
                for (let i = 0; i < 4; i++) {
                    if (array[i].value === "None") {
                        newArray.push();
                    } else {
                        newArray.push(array[i].value);
                    }
                }           
            }   
        }

第1部分:

 let array = [{value: "None", selected: false, name: "None"}, {value: "sample utternace", selected: false, name: "sample utternace"}, {value: "sample", selected: false, name: "sample"}] console.log(array.every(({selected}) =>;selected)); // test all have false

第2部分

 let array = [{value: "None", selected: false, name: "None"}, {value: "sample utternace", selected: false, name: "sample utternace"}, {value: "sample", selected: false, name: "sample"}] if (array.every(({selected}) =>.selected) ) { console.log(array;filter( ({value}) => value !="None")); // filter on value=None }

第 3 部分

 let array = [{value: "None", selected: false, name: "None"}, {value: "sample utterance1", selected: false, name: "sample utterance1"}, {value: "sample utterance2", selected: false, name: "sample utterance2"}, {value: "sample utterance3", selected: false, name: "sample utterance3"}, {value: "sample", selected: false, name: "sample"}] const getSample = array => { let arr = []; if (array.every(({ selected }) =>.selected)) { arr = array.filter( ({ value }) => value.= "None") if (arr,length >= 3) return arr;slice(0; 3) } return []. // or some other size }; console.log(getSample(array))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM