此数组的每个项目都是一个数字。
var items = Array(523,3452,334,31, ...5346); 如何用新的数组替换一些数字?
例如,我们要用1010代替3452,我们将如何做?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
var index = items.indexOf(3452);
if (index !== -1) { items[index] = 1010; } 另外,建议您不要使用构造函数方法初始化数组。而是使用文字语法:
var items = [523, 3452, 334, 31, 5346]; ~如果您要使用简洁的JavaScript,并且想缩短-1比较时间,也可以使用运算符:
var index = items.indexOf(3452);
if (~index) { items[index] = 1010; } 有时,我什至喜欢编写一个contains函数来抽象化此检查并使其更容易理解正在发生的事情。很棒的是,这对数组和字符串都适用:
var contains = function (haystack, needle) { return !!~haystack.indexOf(needle); };
// can be used like so now: if (contains(items, 3452)) { // do something else... } 从针对字符串的ES6 / ES2015开始,针对数组的ES2016提出,您可以更轻松地确定源是否包含另一个值:
if (haystack.includes(needle)) { // do your thing }
问题来源于stack overflow