草庐IT

指针和数组的笔试题

全部标签

ruby - 颠倒ruby中数组的顺序

我有以下数组[12,16,5,9,11,5,4]它打印:12,16,5,9,11,5,4.我希望它打印:4,5,11,9,5,16,12当我执行array.reverse时,它打印:4,5,11,9,5,61,21它颠倒了个人数字-知道我该如何阻止它吗? 最佳答案 a=[12,16,5,9,11,5,4]#=>[12,16,5,9,11,5,4]a.reverse#=>[4,5,11,9,5,16,12]我没有看到你所看到的。编辑:根据Ben注意到的展开,您可能正在反转字符串。"12,16,5,9,11,5,4".reverse#=

ruby - 在包含任意数量的嵌套哈希和数组的哈希中查找键/值对

Web服务正在返回包含未知数量的嵌套哈希的哈希,其中一些包含一个数组,而数组又包含未知数量的嵌套哈希。一些键不是唯一的——即存在于多个嵌套哈希中。然而,我真正关心的所有键都是唯一的。有没有什么办法可以给顶级散列一个键,即使键值对深埋在这个泥潭中也能取回它的值?(Web服务是亚马逊产品广告API,根据结果数量和每个产品类别允许的搜索类型,它提供的结果结构略有不同。) 最佳答案 这是一个简单的递归解决方案:defnested_hash_value(obj,key)ifobj.respond_to?(:key?)&&obj.key?(ke

ruby - 生成带有小写字母和数字的唯一随机字符串

我如何修复此代码,使其生成唯一的随机小写字母和数字?api_string=(0...32).map{65.+(rand(25)).chr}.join目前,它只生成字母。 最佳答案 如果您使用的是ruby​​1.9.2,则可以使用SecureRandom:irb(main):001:0>require'securerandom'=>trueirb(main):002:0>SecureRandom.hex(13)=>"5bbf194bcf8740ae8c9ce49e97"irb(main):003:0>SecureRandom.hex(

Ruby 对象作为指针打印出来

我正在尝试创建一个类,它有一个接受单个参数的构造函数。当我创建对象的新实例时,它返回一个指针。classAdderdefinitialize(my_num)@my_num=my_numendendy=Adder.new(12)putsy我做错了什么?谢谢 最佳答案 当您使用new方法时,您会获得新创建对象的“引用”。puts内核方法返回有关此对象的一些内部ruby​​信息。如果你想获得关于状态你的对象的任何信息,你可以使用getter方法:classAdderdefinitialize(my_num)@my_num=my_numen

ruby - 生成所有字母和数字的数组

使用ruby​​,是否可以轻松地制作字母表中的每个字母和0-9的数组? 最佳答案 [*('a'..'z'),*('0'..'9')]#doesn'tworkinRuby1.8或('a'..'z').to_a+('0'..'9').to_a或(0...36).map{|i|i.to_s36}(Integer#to_s方法将数字转换为在所需的numeralsystem中表示它的字符串) 关于ruby-生成所有字母和数字的数组,我们在StackOverflow上找到一个类似的问题:

javascript - 使用javascript匹配字符串中数组的元素之一

我正在尝试创建一个函数,如果在另一个字符串中找到至少一个字符串数组的元素,该函数将返回true。functionfindInString(str){varfruits=["orange","banana","grape"];for(vari=0;i-1){returntrue;}}returnfalse;}vara=findInString("Iloveorangejuice.");//=>returnstruevarb=findInString("Idon'tlikepeach.");//=>returnsfalse这个函数可以解决问题,但我确信可能有一些数组或字符串方法可以执行相同

javascript - 如何检测指针是粗还是细

我读了这篇关于交互媒体的文章,它解释了css如何检测指针是否是触摸屏。它使用@media查询,如@media(pointer:coarse){body{//dosomething}}但我只是想知道如何使用javascript或JQuery来实现它,这可能吗?谢谢,对不起我的英语不好 最佳答案 is_fine=matchMedia('(pointer:fine)').matchesis_coarse=matchMedia('(pointer:coarse)').matches适用于我的Chrome。

javascript - 对象中数组的长度不匹配

我试图在D3中使用树层次结构,但卡住了。我以为我正在正确构建JSON,但是当我查看开发人员工具中的对象时,我看到以下内容:注意第一行显示dependents数组的长度为0,但展开后,您可以清楚地看到dependents有3个对象。当我对其进行字符串化时,我得到以下信息:{"attributes":{"id":0,"name":"root"},"dependents":[]}知道哪里出了问题吗?谢谢! 最佳答案 当您在记录对象后更改对象时通常会发生此问题,因为Chrome在您记录对象时不会深度复制该对象,而只是存储一个引用。树不会立即

javascript - 按数据属性、字母顺序和数字顺序对列表项进行排序

我想从A-Z然后0-9对这个列表进行排序。y1aecw09g$(".columnsli").sort(sort_li).appendTo('.columns');functionsort_li(a,b){return($(b).data('char'))看了类似的问题,这是我想出的,但它只适用于数字或字母(不是两者)。https://jsfiddle.net/qLta1ky6/ 最佳答案 数字的ASCII码比字母小,所以比较的时候直接加权重就可以了:$(".columnsli").sort(sort_li).appendTo('.c

javascript - 在javascript中添加一个对象和一个数组的结果是什么?

我在地址栏中试过这段代码:javascript:alert({}+[])结果是:[对象对象]。javascript:alert(typeof({}+[]))结果是:字符串。谁能给我解释一下这是怎么回事? 最佳答案 连接运算符(+)将两个字符串值连接在一起。如果你给它的东西不是字符串值,那么它会首先调用它们的.toString()方法。回应下面的评论,“是的!”Object.prototype.toString=function(){return"a";};Array.prototype.toString=function(){ret