验证数组的所有对象中的 属性 值是否为假,并从数组的前三个最大对象中选择 属性 的值
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"}]
如果所有对象的“选择”属性 为“假”,我需要根据这些对象数组进行验证。
如果是,那么我需要为前三个最大值选择 属性“值”的值,如果“None”值除外。
如果数组大小小于 属性“值”的最小 2 个值,则应选择 属性“值”的最大 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))
我有一组具有属性的对象
let array = [{value: "None", selected: false, name: "None"},
{value: "sample utternace", selected: false, name: "sample utternace"},
{value: "sample", selected: false, name: "sample"}]
如果所有对象的“选择”属性 为“假”,我需要根据这些对象数组进行验证。
如果是,那么我需要为前三个最大值选择 属性“值”的值,如果“None”值除外。
如果数组大小小于 属性“值”的最小 2 个值,则应选择 属性“值”的最大 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))