我想检查一个名为name的字段的数组,并检查“people array”中是否存在“arraryCollection”中的object.name,如果不存在则会推送“arraryCollection [n] .name。这样的事情。
$.each(arrayCollection, function(i, el) {
if ($.inArray(el.name, people.name) === -1) {
people.push({name: el.name);
})
})
但是我不能使用people.name,因为它未定义,并且 以下是我要解决的问题 ,但有没有办法直接调用people.name?
var tempList=[];
var people=[];
$.each(arrayCollection, function(i, el) {
if ($.inArray(el.name, tempList) === -1) {
tempList.push(el.name);
})
})
$.each(tempList, function(i, tl) {
people.push({name: tl})
})
换句话说,如何直接调用数组字段的整个集合,如people.name而不是单独的people [n] .name,它只返回1个结果。
答案 0 :(得分:0)
像这样检查inArray:
<html>
<button onclick="submitQuery()"></button>
</html>
<script>
function submitQuery(){
//Do whatever You wish
}
</script>
<script>
//Another way
$('#fulfillButton').on('click',function(){
//Place code here
});
</script>
返回数组中元素的索引,而不是指示数组中是否存在该项的布尔值。如果未找到该元素,则返回-1。
inArray
答案 1 :(得分:0)
$.inArray()
方法类似于JavaScript的原生.indexOf()
方法,因为它在找不到匹配项时返回-1。如果数组中的第一个元素与value匹配,则$.inArray()
返回0.
var testArr= [ 4, "ABC", 8, "John" ];
if($.inArray( "ABC", testArr) > -1 )
{
console.log('Horray');
}
如果您的js对象有一个键名称&#39;包含数组作为值,然后您可以按照问题中的说明使用它:
var obj= {"name":[ 4, "ABC", 8, "John" ]};
if($.inArray( "ABC", obj.name) > -1 )
{
console.log('Horray');
}
push()
方法将新项添加到数组而不是对象,请确保仅将其用于数组。