为什么我的代码不能用于查找 JavaScript 中的数组中是否存在值
Why doesn't my code work for finding if a value exists in an array in JavaScript?
我试图查找数组中是否存在值,然后将其添加到第三个数组中。我正在使用JavaScript。
以下是我的声明:
var testArray1 = ["a", "b", "c", "d", "e"];
var testArray2 = [];
这是我的代码片段:
var x = testArray1.length;
var y = 0;
do {
if(typeof testArray1[y] == 'a') {
console.value += "A doesn't exist.";
}
else {
console.value += "A does exist."
}
y++;
while (y < x);
出于某种原因(即使我输入(anything greater than 0)
而不是x
它总是说A does exist.
谁能指出我的代码哪里有问题?
谢谢!
为什么我的代码无法查找 JavaScript 中的数组中是否存在值?
因为typeof x
返回值的类型(根据规范)。 typeof testArray1[y]
将始终为数组中的每个值返回"string"
,因为每个值都是一个字符串。它永远不会返回'a'
.
方法?以及如何检查数组是否包含 JavaScript 中的对象?来学习如何测试数组中是否存在值。
您可以自己简化这种方式。
testArray1.indexOf('a')
将返回数组中该字母的索引。如果它不在数组中,它将返回 -1
if(testArray1.indexOf('a') != -1){
// it is in the array
}else{
// it's not in the array
}
对我来说,我会像这样解决问题。
var _testArray1 = ["a", "b", "c", "d", "e"];
var _testArray2 = [];
for (var _i = 0; _i < _testArray1.length; _i++) {
if (_testArray1[_i] === "a") {
_testArray2.push(_testArray1[_i]);
}
// other logic;
};
通过这种方式,您可以将迭代计数变量保留在其自己的范围内,并将找到的数组结果附加到已声明的变量中。
相关文章:
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 用于检查数组中是否存在元素的javascript自定义方法
- 验证会话中是否存在对象's数组
- 检查数组中是否存在字符串值,并返回找到的数组值js
- underline-js:将键对象与数组键对象进行比较,如果存在,则移除现有的添加新的
- 查找数组's按属性不存在于另一个数组中的对象
- 为什么没有从数组中存在的对象中删除属性
- 在对象上迭代以验证它是否's键存在于数组中
- 使用JQuery检查数组的索引中是否存在字符串
- JavaScript对象中存在数组的问题
- 使用javascript/jquery从现有数组中创建一个新数组,该数组保存项目存在的次数
- undercore返回数组中对象的indes,其中单词存在于对象中的句子中
- 如何使用函数来确定 Javascript 数组中是否存在值
- 如何将多个零推送到已经存在的数组
- 如何获取 JSON 数组下存在的相应值
- 仅当项目没有't存在于数组中
- 正在检查JavaScript中是否存在关联数组
- javascript中的数组和if语句存在问题
- 为什么JS需要对象/数组存在
- 如果数组存在于本地存储中,则返回false