角度 JS 字符串拆分问题

AngularJS string splitting issue

本文关键字:问题 拆分 字符串 JS 角度      更新时间:2023-09-26

我有以下格式返回的数据

"yes | Yes no | No"

此字符串表示几个内容。作为一个整体,它代表一系列单选按钮。在 | 的左侧是单选按钮的实际值。右侧是标签。因此,此字符串表示以下内容:

是(值 = 是)否(值 = 否)

字符串被存储到一个巨大的对象中,因此,我需要能够拆分各个组件并使用它们,同时可靠地保持值第一,标签第二的模式。关于如何使用角度实现这一点的任何建议?

在返回数据的服务中,您需要编写一个函数来解析并组织它。您可以从自定义过滤器中受益,但它在这里实际上并不适用,因为过滤器更传统地用于视图。这不是一个真正的角度问题,除非您的问题大致是如何在角度应用程序中执行此操作。

我同意@Fourth。 这感觉不像是一个真正的"角度"问题。 它更像是一个JavaScript问题。 无论如何,这是我的单行解决方案(尽管它很毛茸茸):

var fullString = "yes | Yes no | No";
var parts = fullString.split(/[ |]/).filter(function(str){ return str !== '';});
// parts is now ["yes", "Yes", "no", "No"]

然后,您只需使用数组中的值作为单选按钮的标签和值。 这意味着,parts[0]是第一个单选按钮的值,parts[1]是标签。 我知道这是一个非常棘手的解决方案,但是无论谁决定将这些单选按钮的值编码到一个用空格和垂直条分隔得很差的字符串中,他们都是罪魁祸首。