gpt4 book ai didi

javascript - 如何知道javascript中的对象数组中是否有值?

转载 作者:行者123 更新时间:2023-11-30 12:14:11 26 4
gpt4 key购买 nike

我有这个对象数组:

[Object, Object]
0: Object
{
date: ""
number: undefined
}
1: Object
{
date: ""
number: undefined
}

如果该值不为空,它总是说必需的。也许有人可以帮助我了解更多这方面的知识。

这是我的代码:

$(function(){

var len = $('#groupContainer > div').length;
var arr = [];

for(var i=0; i < len; i++){

var number = $('#number_' + [i + 1]);
var date = $('#date_' + [i + 1]);

console.log(number)

var a = number.map(function(){
return this.value;
});

var b = date.map(function(){
return this.value;
});

var newObj = {number: a[0], date: b[0]}
arr.push(newObj);
}

for(var c = 0; c < arr.length; c++)
{
var count = c + 1;
var message ="";

for(var d in arr[c])
{
if(arr[c].hasOwnProperty(d))
{
if(arr[c][d] == "")
{
message = d + ' is required!';
}
message += message + "\n";
}
}
alert('Group: ' + count + ' ' + message + '\n');
}
});

Demo

最佳答案

空的检查似乎工作正常。 “第 1 组”中的两个字段都有一个值,并且其消息中没有提及任何一个为“必填”。

不过,您对构建message 的方式有疑问,至少两次报告单个属性:

"Group: 2 date is required!date is required!"

这是由于对 message 的这些修改:

if(arr[c][d] == "")
{
message = d + ' is required!';
}
message += message + "\n";

通过使用赋值运算符 (=) 修改 message 的第一行将丢弃 message 可能持有的任何先前值.

var message = "something previous"

message = 'property' + ' is required!';

console.log(message); // "property is required!"

然后另一行复制了 message 的内容,将其附加到自身:

// same as `message = message + message + "\n";`
message += message + "\n";

console.log(message); // "property is required!property is required!\n"

修改方法是仅在找到空字段时修改 message 并将添加的内容连接到先前的值。

if(arr[c][d] == "")
{
message += d + ' is required!\n';
// ^ concatenate onto the previous `message` value
// including the `\n` here
}
// remove the other modification

http://jsfiddle.net/b60981ku/

关于javascript - 如何知道javascript中的对象数组中是否有值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32878581/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com