如何设置一个数组的所有元素必须至少等于 JavaScript 中另一个数组的一个元素的条件?
How to set up consition that all elements of one arrays must be equal to at least one element of the another array in JavaScript?
将罗马数字转换为数字!用户输入他的一个罗马号码,代码将 his/her 罗马号码转换为经典号码。
var roman = prompt("Enter roman number", roman);
var romandigits = roman.toString().split(""); // spliting roman number entered into an array!
let romannumerals = ["M", "D", "C", "L", "X", "V", "I"];
现在假设要设置的条件是:
数组 romandigits 的所有元素必须至少等于数组 romannumerals 的一个元素!
您可以创建一组罗马数字
let numeralSet = new Set(romannumerals);
然后你可以检查每个数字都在那个集合中
let badDigits = romanDigits.filter((c) => !numeralSet.has(c))
然后检查是否有badDigits:
if (badDigits.length) {
console.error(`Invalid roman number ${roman} contains non-digits ${badDigits}`);
}
所以把它们放在一起
let roman = prompt("Enter roman number");
let romandigits = [...roman];
let romannumerals = ["M", "D", "C", "L", "X", "V", "I"];
let numeralSet = new Set(romannumerals);
let badDigits = romandigits.filter((c) => !numeralSet.has(c))
if (badDigits.length) {
console.error(`Invalid roman number ${roman} contains non-digits ${badDigits}`);
} else {
console.log(`${roman} is OK`);
}
将罗马数字转换为数字!用户输入他的一个罗马号码,代码将 his/her 罗马号码转换为经典号码。
var roman = prompt("Enter roman number", roman);
var romandigits = roman.toString().split(""); // spliting roman number entered into an array!
let romannumerals = ["M", "D", "C", "L", "X", "V", "I"];
现在假设要设置的条件是: 数组 romandigits 的所有元素必须至少等于数组 romannumerals 的一个元素!
您可以创建一组罗马数字
let numeralSet = new Set(romannumerals);
然后你可以检查每个数字都在那个集合中
let badDigits = romanDigits.filter((c) => !numeralSet.has(c))
然后检查是否有badDigits:
if (badDigits.length) {
console.error(`Invalid roman number ${roman} contains non-digits ${badDigits}`);
}
所以把它们放在一起
let roman = prompt("Enter roman number");
let romandigits = [...roman];
let romannumerals = ["M", "D", "C", "L", "X", "V", "I"];
let numeralSet = new Set(romannumerals);
let badDigits = romandigits.filter((c) => !numeralSet.has(c))
if (badDigits.length) {
console.error(`Invalid roman number ${roman} contains non-digits ${badDigits}`);
} else {
console.log(`${roman} is OK`);
}