javascript - 如何在JS中更高效地描述if条件?

标签 javascript arrays if-statement rhino

我正在检查三个不同的变量,它们保存如下所示的字符串数组。

var a = ["ghi",dwe"]
var b = ["ghsj"]
var c = ["gdjr"]
var result; // result array

我每次都会检查变量 a、b、c 是否未定义以及它们是否持有某个值 我只是为结果数组中的每个变量推送一个字符串。

下面是相同的代码行。

    if(a !== undefined && a.length > 0) {

    result.push("Astring");

}

if(b !== undefined && b.length > 0) {
    result.push("Bstring");

}

if(c!== undefined && c.length > 0) {
    result.push("Cstring");
}

如果定义了 var a、b、c 并且非空,则预期结果应该是:结果数组变量应保存如下所示的值

["Astring","BString","CString"]

有没有更有效的方法来描述这段代码。这里我只是检查一下 每个变量都使用 if 条件。另外,我在某些方面受到限制,因为我使用的是 Rhino js 引擎版本 1.7.12。

最佳答案

您可以使用初始数据创建一个对象。然后对其进行迭代,如果符合您的条件,则附加键(例如 abc)。

这是一个快速演示:

// Initial Data
const a = ['ghi', 'dwe'];
const b = ['ghsj'];
const c = ['gdjr'];

// Store intial within an array
const abc = {a, b, c};

const result = [];

// Append each data item that present, is array, and not empty
Object.keys(abc).forEach((letterKey) => {
  const content = abc[letterKey];
  if(Array.isArray(content) && content.length > 0) {
    result.push(letterKey);
  }
});

// Print results
console.log(result);

关于javascript - 如何在JS中更高效地描述if条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72328756/

相关文章:

mysql - 在现有字段上使用 If sum 条件更新新列

javascript - JavaScript 中的正则表达式

python - 如何在 python 中使用 Objectpath 导航包含数组的 JSON 文件以选择值?

javascript - SAP UI 5 中的 messagebundle.properties 问题

java - 对数组进行排序不需要比较第一个元素(java编程)?

c - 为什么编译器不给我错误?

java - 在 Java 中使用 .equals()、.isEmpty() 和 .length() 检查空字符串

MySQL IF ELSE 条件

javascript - 将鼠标悬停在 SVG 路径上时,如何使 div 出现?

javascript - 将普通对象转换为javascript中的类实例