我有许多功能方法我需要使用它,我需要发布一个使用这种方法的库与JavaScript开发人员分享它非常有用,所以例如我需要添加一个名为的方法duplicates 将返回给我的数组的重复项你可以看到ECMA没有正式发布这个方法所以我不知道放置脚本的最佳形式
1-
Array.prototype.duplicate = function (){
//script here its usefull to use `this` refer to the Array
}
Run Code Online (Sandbox Code Playgroud)
使用它就像
[1,2,2].duplicates();
Run Code Online (Sandbox Code Playgroud)
2-
var Ary = function(a){
if(!(this instanceOf Ary))
return new Ary(a)
if(Object.prototype.toString.call(a) != '[object Array]')
return new Error(a + 'is not an Array')
else
{
for(var i =0 ; i<a.length; i++)
{
this.push(a[i]);
}
}
}
Ary.prototype = new Array();
Ary.prototype.constructor = Ary;
Ary.prototype.duplicates = function(){
//script here its usefull to use `this` refer to the Array
}; …Run Code Online (Sandbox Code Playgroud) 我也可以,
var arr = [];
arr.forEach(function(i) {
i;
});
for (var i = 0, length = arr.length; i < length; ++i) {
arr[i];
}
Run Code Online (Sandbox Code Playgroud)
我应该何时使用另一个,是否存在性能差异?
我设法让所有浏览器的循环工作除了Internet Explorer(似乎不支持每个).
JavaScript cpde:
function validate() {
var msg = '';
var i = 0;
arr.forEach(
function validateinfo(){
if (getRBtnName('yesNo_' + i + '_0' == "" && 'yesNo_' + i + '_0') == "") {
msg = 'Please select yes/no for all users'
}
if (msg == '') {
return true;
}
is++;
}
)
if (msg == '') {
reloadpage();
}
if (msg != '') {
alert(msg);
return false;
}
}
function reloadpage(){
window.location.reload()
}
Run Code Online (Sandbox Code Playgroud)
该数组在PHP文件中设置而不是传入.它使用以下方式设置:
<script type="text/javascript">
var …Run Code Online (Sandbox Code Playgroud) 我正在迭代一个JSON数组(从webworker AJAX调用中回忆)
var dataReceived = JSON.parse(xhr.responseText);//JSON verified as ok
//dataReceived.length verified
var dataProcessed = [];
for (var i = 0; i < dataReceived.length; i++) {
for ( var h = 0; h < dataReceived[i].length; h++) {
dataProcessed[i][h][0]=((dataReceived[i][h][0])*30)-30;
dataProcessed[i][h][1]=((dataReceived[i][h][1])*30)-30;
}
}
postMessage(dataProcessed);
Run Code Online (Sandbox Code Playgroud)
但我得到了错误
dataProcessed [i]未定义
Javascript是否不能动态创建多维数组?
好的peep's所以我知道弄乱原型是不好的做法,但无论如何......
Array.prototype.rev=
function(){
this.reverse();
}
Run Code Online (Sandbox Code Playgroud)
工作良好!更新源数组变量ary,如预期的那样:
ary = [123, 456];
ary.rev();
// result: ary == [456, 123]
Run Code Online (Sandbox Code Playgroud)
写一个类似的属性我的问题来了String.
我想做的是这样的......
String.prototype.rev=
function(){
this.split('');
this.reverse();
this.join('');
}
Run Code Online (Sandbox Code Playgroud)
看起来很简单吧!拆分字符串,反转它,然后将它连接在一起,这样原来的字符串变量str就像它以前的自身一样,就像ary上面那样!
事情是:虽然this.split()已被调用,但它需要存储为变量,即:
split = this.split('');
Run Code Online (Sandbox Code Playgroud)
这就是this = this问题所在......
现在split已定义,它将重点放在编辑源变量上,并且它不像我在函数末尾所说的那样:
this = split;
Run Code Online (Sandbox Code Playgroud)
那this是"不可改变的",或者当它们意味着它是静态的和不可改变的时候是什么?
str = 'abc'
Run Code Online (Sandbox Code Playgroud)
我想可以说str.rev()没有str = str.rev(),并得到的结果str = 'cba',其中str === 'cba',明白我的意思?
所有的解决方法和学费都欢迎窥视,我只是问你知道你在说什么.谢谢
这听起来像是一个愚蠢的问题,但在这里.我有一个像这样格式化的js数组
var locationID = [
{ ID: "ID1", location: "location1" },
{ ID: "ID2", location: "location2" },
{ ID: "ID3", location: "location3" },
];
Run Code Online (Sandbox Code Playgroud)
我试图循环数组
for(i = 0; i < locationID.length;i++){
var object = locationID[i];
}
Run Code Online (Sandbox Code Playgroud)
我想从内部数组获取两个元素,以便ID和位置.我会这样做object[0]或者object["ID"]例如.
还有一种更有效的方法来做我需要做的事情,如每个循环或沿着这些线的东西.
在Javascript中,我试图创建一个新的div.这是我为了制作div而添加的内容.
html+= "<div>" + concerts + "</div>";
Run Code Online (Sandbox Code Playgroud)
但在我的浏览器中显示[object HTMLCollection] div标签应该在哪里.
音乐会是预定义的变体.
任何人都可以向我解释我可能缺少什么来完成这项工作.提前致谢.
例如
var a = [1, 2, 3];
for (var i in a) {
console.log(typeof i);
}Run Code Online (Sandbox Code Playgroud)
string
string
string
Run Code Online (Sandbox Code Playgroud)
我是一名Python程序员,我发现它非常不直观.为什么评估的元素不是数字?
我对JSON有一点经验,我现在在网页上再次使用JSON作为AJAX响应在我的Android应用程序上进行了此操作,我对ajax进行了研究,并找到了一个使用JSON将数据存储在数据库中的教程,所以我尝试了但是没有知道如何解析对象。
我的Jquery代码。
$.ajax({
type: 'GET',
dataType: 'json',
url: 'functions/json.php',
success: function(response){
var json = $.parseJSON(response);
alert(json.firstname) //where my response is $response['firstname']
},
error: function(data){
var json = $.parseJSON(data);
alert(json.error);
}
});
Run Code Online (Sandbox Code Playgroud)
使用PHP,我将jsonArray回显为json_encode,并在此将json输出
{"id":"2","firstname":"john","lastname":"Doe"}
Run Code Online (Sandbox Code Playgroud)
使用谷歌浏览器控制台我收到此错误
Uncaught SyntaxError: Unexpected token o in JSON at position 1
at JSON.parse (<anonymous>)
Run Code Online (Sandbox Code Playgroud)
当函数响应输出为警报(响应)输出为
[object Object]
Run Code Online (Sandbox Code Playgroud) 我很想知道你是否可以使用标准for循环在for/in循环中放置for/in循环.在下面的例子中,我试图列出每个游戏对象的所有属性,但我没有得到预期的结果.我尝试过使用点符号和方括号,但似乎都不起作用.这是不可能的还是我在语法中忽略了一些简单的东西?
var games = [{
"name": "PCH Mystery Game",
"maxScore": 50000,
"levels": 4,
"players": ["akshat", "joe", "dandan", "andrew"],
"maps": {
"1": 1,
"2": 2,
"3": 3,
"4": 4
}
},
{
"name": "PCH Token Dash",
"maxScore": 11500,
"levels": 2,
"players": ["andrew", "dandan", "matt", "mitchell", "hadi"],
"maps": {
"1": 1,
"2": 2,
"3": 3,
"4": 4
}
},
{
"name": "PCH Balloon Drop",
"maxScore": 500,
"levels": 1,
"players": [
"akshat", "joe", "dandan", "dan", "mark", "nagesh", "jessie", "lou"
],
"maps": {
"1": …Run Code Online (Sandbox Code Playgroud)