javascript - 关于在chrome控制台执行一些语句遇到的问题?
大家讲道理
大家讲道理 2017-04-10 16:17:13
[JavaScript讨论组]
var b = ["red","color"];
1 in b; //true
"red" in b; //false

执行结果为true和false是为什么,求大神详细解答以下?以及如果我想确定数组b里又没有"red"(即在字符串数组中有没有某一确定的字符串)应该用什么方法?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(4)
大家讲道理

查了一下Array对象API,借用Array对象的方法实现:
["red","color"].some(function(val) {return val == "red";});

大家讲道理

此处的1是下标,而数组b中的下标最大为1,没有"red"下标。
in 多用于遍历关联数组或者对象属性。
你可以这样定义这个b数组:var b = []; b["red"] = red; 再执行 "red" in b; 返回 true

阿神

in操作符用来判断某个属性属于某个对象,可以是对象的直接属性,也可以是通过prototype继承的属性。

b[0] = "red";
b[1] = "color";

所以,数组b中,0和1是索引,是数组b的直接属性,而“red”是数组b的索引0的值。
换句话说,in操作符是用来查看索引(index或key)的。

怪我咯

判断数组包含用b.indexOf('red')

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号