- ios 与Android 使用 localeCompare表现形式不同
ios版本与安卓版本使用以下代码出现两种不同的表现形式: if((!zh[i-1] || zh[i-1].localeCompare(item2.name,'zh') <= 0) && item2.name.localeCompare(zh[i],'zh') == -1) { curr.names.push(item2); } 源码 : function pySegSort(arr) { //通讯录数据分组排列 if(!String.prototype.localeCompare) return null; var letters = "#ABCDEFGHJKLMNOPQRSTWXYZ".split(''); var zh = "阿八嚓哒妸发旮哈讥咔垃痳拏噢妑七呥扨它穵夕丫帀".split(''); var segs = []; var curr; letters.forEach(function(item,i){ curr = {letter: item, names:[]}; arr.forEach(function(item2,j){ if(item2.name.substring(1,0) == letters[i-1]){ curr.names.push(item2); curr.letter=letters[i-1] } if((!zh[i-1] || zh[i-1].localeCompare(item2.name,'zh') <= 0) && item2.name.localeCompare(zh[i],'zh') == -1) { curr.names.push(item2); console.log(item2,'item2') } }); if(curr.names.length) { segs.push(curr); curr.names.sort(function(a,b){ return a.name.localeCompare(b.name); }); } }); return segs; }
2018-09-25 - localeCompare在小程序中,支持那些参数?
定义:用本地特定的顺序来比较两个字符串。 语法:stringObject.localeCompare(compareString, locales, options) 参数:compareString——用来比较的字符串; locales——可选。 用来表示一种或多种语言或区域的一个符合 BCP 47 标准的字符串或一个字符串数组; options——可选。 支持下列的一些或全部属性的一个对象: localeMatcher:地域匹配算法的使用. 可能的值是 "lookup" 和 "best fit"; 默认的值是 "best fit"。更多相关的资料, 请参考 Intl page. usage:指定比较的目标是排序或者是搜索. 可能的值是 "sort" 和 "search"; 默认是 "sort". sensitivity:指定排序程序的敏感度(Which differences in the strings should lead to non-zero result values.) 可能的有: "base": 只有不同的字母字符串比较是不相等的. 举个例子: a ≠ b, a = á, a = A. "accent": 只有不同的字母或读音比较是不相等的. 举个例子: a ≠ b, a ≠ á, a = A. "case": 只有不同的字母或大小写比较是不相等的. 举个例子: a ≠ b, a = á, a ≠ A. "variant": 不同的字母或读音及其它有区别的标志或大小写都是不相等的, 还有其它的差异可能也会考虑到. 举个例子: a ≠ b, a ≠ á, a ≠ A. ignorePunctuation:指定是否忽略标点. 可能的值是 true and false; 默认为 false. numeric:是否指定使用数字排序, 像这样 "1" < "2" < "10". 可能的值是 true 和 false; 默认为 false. 这个选项能被通过options 属性设置或通过 Unicode 扩展。假如两个都被设置了, 则 options 优先。 实现不用必须支持这个属性. caseFirst: 指定大小写有限排序. 可能的值有 "upper", "lower", or "false" (use the locale's default); 默认为 "false". 这个选项能被通过options 属性设置或通过 Unicode 扩展。假如两个都被设置了, 则 options 优先。 实现不用必须支持这个属性。 返回值:说明比较结果的数字。 (1)如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数。 (2)如果 stringObject 大于 target,则该方法返回大于 0 的数。 (3)如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0。 说明:把 < 和 > 运算符应用到字符串时,它们只用字符的 Unicode 编码比较字符串,而不考虑当地的排序规则。以这种方法生成的顺序不一定是正确的。localeCompare() 方法提供的比较字符串的方法,考虑了默认的本地排序规则。ECMAscript 标准并没有规定如何进行本地特定的比较操作,它只规定该函数采用底层操作系统提供的排序规则。 请问以上参数中,小程序支持那些参数?
2019-08-14 - 组件import报错
- 当前 Bug 的表现(可附上截图) 编辑器中调试无问题,但在真机调试中会报这个错误导致无法调试 [图片] 经测试,在组件的js文件中去掉import就会正常不会报找不到Component,但是echart只能import,最终导致无法继续调试 - 预期表现 - 复现路径 - 提供一个最简复现 Demo 小程序组件的js文件,只要 import 或者require 就会报这个错 代码片段:https://developers.weixin.qq.com/s/xXoqFTme7x8t
2019-06-05 - 啥时支持async await
[图片] [图片] 啥时支持async await
2018-03-01 - 关于小程序和公众号(订阅号)关联问题
主要的需求是想实现小程序端用户下单后,通过消息模板接口将消息通知给另外一个用户(商家,这个用户和下单用户都属于同一小程序或订阅号旗下) 假如我现在有两个公众号, 小程序和订阅号,两者属于同一主体, 1 因为小程序的模板消息接口只能推送消息给下单用户自己,所以想通过订阅号那边的模板消息接口把下单消息推送给商家,那么小程序和订阅号之间的openid是否可以相通吗? 2 如果1不可行,那么用订阅号的那个账号去注册小程序(非关联其他账号小程序)能否实现这样的需求? 3 若都不可行,是否有其他办法
2017-07-26 - [API 增强] wx.scanCode(OBJECT) 设置scanType
扫码API里面,是否可以增加只扫码特定类型?例如只需要条形码,而不需要二维码?
2017-04-23 - wx.scanCode 扫码后小程序白屏 请求参数scanType无任何作用
扫描后白屏的问题不用说了 但是我这个代码里 成功判断scanType==CODE_128时可以正常显示 不是它就不行 点返回也不行 另外请求参数sacnType数组,不会对扫描结果有任何影响 比如我规定是二维码 扫一维码也是走成功 它还有啥用? 还有 一维码的话 编码规则那么多 我不知道我要扫的码都是什么规则 找了个快递单扫出来是CODE_128 我要扫的是快递单号 可我扫个商品标签上的条形码就给返回EAN_13 且出现白屏 要是快递单号都是CODE_128还好说 要不是的话 我也不知道剩下所有编码格式啊 要不返回类型就是barCode就完了 我不关心所有编码规则 本来请求参数就是个二维码类型 返回给我二维码编码规则干什么?
2018-08-28 - [Bug反馈]wx.scanCode的scanType参数不生效
发起扫码界面,期望只扫描条形码类型,调用代码如下: [代码]wx.scanCode({[代码][代码] [代码][代码]onlyFromCamera: [代码][代码]true[代码][代码],[代码][代码] [代码][代码]scanType: [[代码][代码]'barCode'[代码][代码]],[代码][代码] [代码][代码]success: (res) => {[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]code: res.result,[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码] 但实际情况下,二维码仍然可以被扫描出来。尝试传入qrCode,但条形码也仍然可以扫描。
2018-01-30