JavaScript 解析数组并获取唯一值
JavaScript Parsing array and getting the unique value
我有以下数组:
array-1:
Array[11]
0:"265"
1:"text-success"
2:"51"
3:"text-warning"
4:"16"
5:"text-warning"
6:"35"
7:"text-warning"
8:"38"
9:"text-warning"
10:"106"
array-2:
Array[11]
0:"265"
1:"text-success"
2:"51"
3:"text-warning"
4:"16"
5:"text-warning"
6:"35"
7:"text-success"
8:"38"
9:"text-warning"
10:"106"
array-3:
Array[11]
0:"265"
1:"muted"
2:"51"
3:"text-warning"
4:"16"
5:"text-warning"
6:"35"
7:"text-success"
8:"38"
9:"text-warning"
10:"106"
array-4:
Array[11]
0:"265"
1:"text-warning"
2:"51"
3:"text-warning"
4:"16"
5:"muted"
6:"35"
7:"text-warning"
8:"38"
9:"text-warning"
10:"106"
第一个将返回 FALSE,因为两者都存在"文本成功"-两次和"静音"-一次
第二个将返回 TRUE,因为它存在一次"文本成功">
第三个将返回 FALSE,因为两者都存在"文本成功"和"静音">
第 4 个将返回 TRUE,因为它存在一次"静音">
我需要解析数组并得到结果:
array-1:
Array[11]
0:"265"
1:"text-success"
2:"51"
array-2: Null
array-3: Null
array-4:
Array[11]
0:"265"
1:"muted"
2:"16"
到目前为止,我有这个:
function singles( array) {
for( var index = 0, single = []; index < array.length; index++ ) {
if(array[index] == "text-success" || array[index] == "muted") {
single.push(array[index]);
}
}
return single;
};
请帮助任何人?
目前尚不清楚您有一个包含多个数组的对象,还是只是一个标准的一维数组,您已经给出了几个可能的示例,但假设后者,我认为这就是您要查找的:
function singles(array) {
var foundIndex = -1;
for(var index = 0; index < array.length; index++) {
if(array[index] === "text-success" || array[index] === "muted") {
if (foundIndex != -1) {
// we've found two, so...
return null;
}
foundIndex = index;
}
}
if (foundIndex != -1) {
return [ array[0], array[foundIndex], array[foundIndex+1] ];
}
return "Some default value for when it wasn't found at all";
}
console.log(singles(["532","text-warning","51","text-warning","16","muted","35","text-warning","38","text-warning","106"]));
console.log(singles(["533","text-warning","51","text-warning","16","muted","35","text-success","38","text-warning","106"]));
这将循环遍历输入array
。第一次找到"text-success"
或"muted"
时,其索引存储在foundIndex
中。
如果第二次找到"text-success"
或"muted"
,我们会立即返回null
。
如果我们到达循环的尽头,那么我们知道我们要么找到"text-success"
,要么"muted"
一次,要么根本没有。如果找到它,我们返回一个包含三个元素的数组,包括输入数组中的第一个项目,"text-success"
或"muted"
的值,然后是紧跟在数组中该文本后面的项目。
之后的值,但在数组 4 的示例输出中,您返回了匹配文本之前的值。我不知道你真正想要哪一个,但你可以很容易地修改我的函数来做一个或另一个。
如果数组中不存在"text-success"
或"muted"
,您没有说要返回的内容,所以我只是返回了一个占位符字符串。
测试它是否存在"text-success"
或"muted"
数组中,请使用这个函数,它将返回一个布尔值:
function singles(array) {
var single = false;
for (var i = 0; i < array.length; i++) {
if (array[i] === "text-success" || array[i] === "muted") {
if (single) {
return false;
}
single = true;
}
}
return single;
}
如果要返回 "text-success"
或 "muted"
中的唯一值,请使用以下函数。它将返回唯一值,否则null
:
function singles(array) {
var single = null;
for (var i = 0; i < array.length; i++) {
if (array[i] === "text-success" || array[i] === "muted") {
if (single) {
return null;
}
single = array[i];
}
}
return single;
}
如果需要相应值的代码,请使用以下命令:
function singles(array) {
var single = null;
for (var i = 1; i < array.length; i += 2) {
if (array[i] === "text-success" || array[i] === "muted") {
if (single) {
return null;
}
single = array[i - 1];
}
}
return single;
}
- 在数据库中循环值时,为输入框获取唯一值
- 获取唯一值并使用javascript计算金额总和
- JavaScript:从对象数组中获取唯一值及其计数
- 获取唯一的项目-Handlebars
- 上传时获取唯一号码
- 基于单个属性从数组中获取唯一对象
- 从jQuery .change上具有相同类的不同复选框中获取唯一字段
- 从多个对象获取唯一键
- 如何从 JavaScript 中的字符串中获取唯一字符列表
- 从对象数组中获取唯一元素数组
- 基于两个属性从 javascript 中的对象数组中获取唯一数组
- 如何在 jQuery 中获取唯一项
- 从嵌套数组中获取唯一元素的 JS 模式是什么
- PouchDB:创建一个设计文档来获取唯一键
- 在循环期间获取唯一值
- 从对象的两个数组中获取唯一值,并将它们放在另一个数组中
- 无法在卡数组中获取唯一值
- 在JavaScript(NodeJS)中从MongoDB ObjectId中获取唯一的int
- 获取唯一的类名并在其中循环
- 如何在jquery中获取唯一选择器