扫码关注官方订阅号
var b = ["red","color"]; 1 in b; //true "red" in b; //false
执行结果为true和false是为什么,求大神详细解答以下?以及如果我想确定数组b里又没有"red"(即在字符串数组中有没有某一确定的字符串)应该用什么方法?
光阴似箭催人老,日月如移越少年。
查了一下Array对象API,借用Array对象的方法实现:["red","color"].some(function(val) {return val == "red";});
["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')
b.indexOf('red')
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
查了一下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和1是索引,是数组b的直接属性,而“red”是数组b的索引0的值。
换句话说,in操作符是用来查看索引(index或key)的。
判断数组包含用
b.indexOf('red')